fork download
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdio.h>
  4.  
  5. void sort_insertion(int *data, int size)
  6. {
  7. int i, j, tmp;
  8.  
  9. for(i = 1; i < size; i++)
  10. {
  11. tmp = data[i];
  12.  
  13. for(j = i - 1; j >= 0 && data[j] > tmp; j--)
  14. {
  15. data[j + 1] = data[j];
  16. }
  17.  
  18. data[j + 1] = tmp;
  19. }
  20. }
  21.  
  22. void s_i(int *data, int size)
  23. {
  24. int i, j, tmp;
  25.  
  26. i = 1;
  27.  
  28. do
  29. {
  30. tmp = data[i];
  31.  
  32. j = i;
  33.  
  34. do
  35. {
  36. data[j + 1] = data[j];
  37.  
  38. j--;
  39. } while(j >= 0 && data[j] > tmp);
  40.  
  41. data[j + 1] = tmp;
  42.  
  43. i++;
  44. } while(i < size);
  45. }
  46.  
  47. void print_array(int *data, int size)
  48. {
  49. for(int i = 0; i < size; i++)
  50. {
  51. printf("%i ", data[i]);
  52. }
  53. }
  54.  
  55. void p_a(int *data, int size)
  56. {
  57. int i = 0;
  58.  
  59. do
  60. {
  61. printf("%i ", data[i]);
  62. i++;
  63. } while(i < size);
  64. }
  65.  
  66. void A(int **data, int **size)
  67. {
  68. sort_insertion(*data, **size);
  69. print_array(*data ,**size);
  70. printf("\r\nC89 style was called!");
  71. }
  72.  
  73. void B(int **data, int **size)
  74. {
  75. s_i(*data, **size);
  76. p_a(*data ,**size);
  77. printf("\r\nC99 style was called!");
  78. }
  79.  
  80. int get_input_stream(void)
  81. {
  82. int choise;
  83. scanf("%i", &choise);
  84.  
  85. return choise;
  86. }
  87.  
  88. void extension(int *data, int *size)
  89. {
  90. (get_input_stream() == 1) ? A(&data, &size)
  91. : B(&data, &size);
  92. }
  93.  
  94. int main(void)
  95. {
  96. int data[] = { 10, 2, 3, 4, 1000, 50, 32 };
  97. int length = sizeof(data)/sizeof(int);
  98.  
  99. extension(data, &length);
  100.  
  101. return 0;
  102. }
Runtime error #stdin #stdout 0.01s 1724KB
stdin
23
stdout
Standard output is empty