При компиляции выдается ошибка [Error] 'randomize' was not declared in this scope - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Есть код написанный на Си, но при компиляции в DevC++ выдает ошибку [Error] 'randomize' was not declared in this scope [Error] 'random' was not declared in this scope Подскажите как можно исправить
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <memory.h>
  4. long iC, iM;
  5. void printmas(int *m, int n)
  6. {for (int i=0; i<n; i++)
  7. {printf("%4i",m[i]);}
  8. printf("\n");}
  9.  
  10. void initdown(int *m, int n)
  11. {
  12. for (int i=0; i<n ; i++) {
  13. m[i] = n-i-1;
  14. }
  15. }
  16.  
  17. void initup(int *m, int n)
  18. {
  19. for (int i=0; i<n ; i++) {
  20. m[i] = i;
  21. }
  22. }
  23.  
  24. void initrandom(int *m, int n)
  25. {randomize();
  26. for (int i=0; i<n ; i++) {
  27. m[i] = random(500);
  28. }
  29. }
  30.  
  31. long consum(int *m, int n)
  32. {
  33. long sum=0;
  34. for (int i=0; i<n ; i++)
  35. sum += m[i];
  36. return sum;
  37. }
  38.  
  39. int kolser(int *m, int n)
  40. {
  41. int kser=1;
  42. for (int i=1; i<n; i++)
  43. if (m[i] < m[i-1]) kser++;
  44. return kser;
  45. }
  46.  
  47. void sortpr(int *m, int n)
  48. {
  49. iM=0; iC=0;
  50. for (int i=0; i<n-1; i++) {
  51. int min = i;
  52. for (int j=i+1; j<n; j++) {
  53. if (m[j] < m[min]) min = j;
  54.  
  55. iC++;
  56. }
  57. int tmp;
  58. tmp = m[i]; m[i] = m[min]; m[min] = tmp;
  59. iM += 3;
  60. }
  61. }
  62.  
  63. void sortpuz(int *m, int n)
  64. {
  65. iM=0; iC=0;
  66. for (int i=1; i<n; i++)
  67. for (int j=n-1; j>=i; j--) {
  68. iC++;
  69. if (m[j-1] > m[j]) {
  70. int tmp;
  71. tmp = m[j-1]; m[j-1] = m[j]; m[j] = tmp;
  72. iM += 3;
  73. }
  74. }
  75. }
  76. void sortsh(int *m, int n)
  77. {
  78. iM=0; iC=0;
  79. int i;
  80. int l=0;
  81. int r=n-1, k=n-1;
  82. while (l < r) {
  83. for (i=r; i > l; i--) {
  84. iC++;
  85. if (m[i-1] > m[i]) {
  86. int tmp;
  87. tmp = m[i-1]; m[i-1] = m[i]; m[i] = tmp;
  88. iM += 3; k = i;
  89. }
  90. }
  91. l = k;
  92. for (i=l; i < r; i++) {
  93. iC++;
  94. if (m[i] > m[i+1]) {
  95. int tmp;
  96. tmp = m[i+1]; m[i+1] = m[i]; m[i] = tmp;
  97. iM += 3; k = i;
  98. }
  99. }
  100. r = k;
  101. }
  102. }
  103. int main(void)
  104. {
  105. int *o, *m;
  106. int n, metod;
  107. fflush(stdin);
  108. printf("‡*¤*©ГўВҐ Г**§¬ВҐГ* ¬*ГЎГЎВЁВў*. N=");
  109. scanf("%i",&n);
  110. printf("\n");
  111. o = (int *)malloc(n*sizeof(int));
  112. m = (int *)malloc(n*sizeof(int));
  113. do {
  114. printf("‡*¤*©ГўВҐ ГЎВЇ®ГЎ®ВЎ ВЁ*¨æ¨*«ВЁ§*樨 ¬*ГЎГЎВЁВў*.\n");
  115. printf("1 - ã¡ë¢*î騩.\n");
  116. printf("2 - ГЎ«ГЈГ§*©*Г«©.\n");
  117. printf("3 - Вў®§Г**ГЎГў*î騩.\n");
  118. printf("0 - ‚ë室 ВЁ§ ВЇГ*®ВЈГ**¬¬Г«.\n");
  119. scanf("%i",&metod);
  120. } while ( metod <0 || metod >3);
  121. printf("\n");
  122. switch ( metod ) {
  123. case 0:
  124. exit(0);
  125. break;
  126. case 1:
  127. initdown(o, n);
  128. break;
  129. case 2:
  130. initrandom(o, n);
  131. break;
  132. case 3:
  133. initup(o, n);
  134. break;
  135. }
  136. printf("Л†ГЎГҐ®¤*Г«© ¬*ГЎГЎВЁВў\n");
  137. printmas(o,n);
  138. printf("Е*®*ГўГ*®«Г¬**ГЇ ГЎГЈ¬¬* ¤® ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %li\n",consum(o,n));
  139. printf("Е*®«ВЁГ§ВҐГЎГўВў® ГЎВҐГ*ВЁ© ¤® ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %i\n",kolser(o,n));
  140. printf("\n");
  141. while (1) {
  142. do {
  143. printf("‡*¤*©ГўВҐ ГЎВЇ®ГЎ®ВЎ ГЎ®Г*ГўВЁГ*®ВўВЄВЁ.\n");
  144. printf("1 - ¬ВҐГў®¤ ВЇГ*ГЇ¬®ВЈ® ¢ë¡®Г**.\n");
  145. printf("2 - ¬ВҐГў®¤ ВЇГЈ§Г«Г*ìª*.\n");
  146. printf("3 - ¬ВҐГў®¤ ЛњВҐ©ВЄВҐГ**.\n");
  147. printf("0 - ‚ë室 ВЁ§ ВЇГ*®ВЈГ**¬¬Г«.\n");
  148. scanf("%i",&metod);
  149. } while ( metod <0 || metod >3);
  150. printf("\n");
  151. memcpy(m,o,n*sizeof(int));
  152. switch ( metod ) {
  153. case 0:
  154. exit(0);
  155. break;
  156. case 1:
  157. sortpr(m, n);
  158. break;
  159. case 2:
  160. sortpuz(m, n);
  161. break;
  162. case 3:
  163. sortsh(m, n);
  164. break;
  165. }
  166. printf("ЕЅГўГЎ®Г*ГўВЁГ*®Вў***Г«© ¬*ГЎГЎВЁВў\n");
  167. printmas(m,n);
  168. printf("Е*®*ГўГ*®«Г¬**ГЇ ГЎГЈ¬¬* ВЇ®ГЎ«ВҐ ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %li\n",consum(m,n));
  169. printf("Е*®«ВЁГ§ВҐГЎГўВў® ГЎВҐГ*ВЁ© ВЇ®ГЎ«ВҐ ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %i\n",kolser(m,n));
  170. printf("Е*®«ВЁГ§ВҐГЎГўВў® ГЎГ**Вў*ВҐ*ВЁ© = %li ВЁ ВЄ®«ВЁГ§ВҐГЎГўВў® ВЇВҐГ*ВҐГЎГ««®ВЄ = %li\n",iC,iM);
  171. printf("\n");
  172. }
  173. return 0;
  174. }

Решение задачи: «При компиляции выдается ошибка [Error] 'randomize' was not declared in this scope»

textual
Листинг программы
  1. m[i] = rand()%500;

Объяснение кода листинга программы

  1. Переменная m объявляется в области видимости.
  2. Для переменной m выделяется память в куче.
  3. Значение переменной m инициализируется случайным числом в диапазоне от 0 до 500.
  4. Результат операции % (остаток от деления) присваивается переменной m.
  5. Переменная i не объявляется и не используется в данном фрагменте кода.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы