При компиляции выдается ошибка [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 Подскажите как можно исправить
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
 
long iC, iM;
void printmas(int *m, int n)
{for (int i=0; i<n; i++)
{printf("%4i",m[i]);}
printf("\n");}

void initdown(int *m, int n)
{
  for (int i=0; i<n ; i++) {
    m[i] = n-i-1;
  }
}

void initup(int *m, int n)
{
  for (int i=0; i<n ; i++) {
    m[i] = i;
  }
}

void initrandom(int *m, int n)
 
{randomize();
  for (int i=0; i<n ; i++) {
    m[i] = random(500);
  }
}

long consum(int *m, int n)
{
  long sum=0;
 
  for (int i=0; i<n ; i++)
    sum += m[i];
 
  return sum;
}

int kolser(int *m, int n)
{
  int kser=1;
 
  for (int i=1; i<n; i++)
    if (m[i] < m[i-1]) kser++;
 
  return kser;
}

void sortpr(int *m, int n)
{
  iM=0; iC=0; 
 
  for (int i=0; i<n-1; i++) {
    int min = i;
 
    for (int j=i+1; j<n; j++) {
      if (m[j] < m[min]) min = j;  

      iC++;
    }
 
    int tmp;
    tmp = m[i]; m[i] = m[min]; m[min] = tmp;
    iM += 3;
  }
}

void sortpuz(int *m, int n)
{
  iM=0; iC=0; 
 
  for (int i=1; i<n; i++)
    for (int j=n-1; j>=i; j--) {
      iC++;
      if (m[j-1] > m[j]) { 
                           
        int tmp;
        tmp = m[j-1]; m[j-1] = m[j]; m[j] = tmp;
        iM += 3;
      }
    }
}
 
void sortsh(int *m, int n)
{
  iM=0; iC=0; 
  int i;
 
  int l=0;
  int r=n-1, k=n-1;
 
  while (l < r) { 
    for (i=r; i > l; i--) {
      iC++;
      if (m[i-1] > m[i]) { 
                           
        int tmp;
        tmp = m[i-1]; m[i-1] = m[i]; m[i] = tmp;
        iM += 3; k = i;
      }
    }
 
    l = k;
 
    for (i=l; i < r; i++) { 
      iC++;
      if (m[i] > m[i+1]) { 
                           
        int tmp;
        tmp = m[i+1]; m[i+1] = m[i]; m[i] = tmp;
        iM += 3; k = i;
      }
    }
    r = k;
  }
}
 
int main(void)
{
  int *o, *m;
  int n, metod;
 
  fflush(stdin);
  printf("‡*¤*©ГўВҐ Г**§¬ВҐГ* ¬*ГЎГЎВЁВў*. N=");
  scanf("%i",&n);
  printf("\n");
  o = (int *)malloc(n*sizeof(int));
  m = (int *)malloc(n*sizeof(int));
 
  do {
    printf("‡*¤*©ГўВҐ ГЎВЇ®ГЎ®ВЎ ВЁ*¨æ¨*«ВЁ§*樨 ¬*ГЎГЎВЁВў*.\n");
    printf("1 - ã¡ë¢*î騩.\n");
    printf("2 - ГЎ«ГЈГ§*©*Г«©.\n");
    printf("3 - Вў®§Г**ГЎГў*î騩.\n");
    printf("0 - ‚ë室 ВЁ§ ВЇГ*®ВЈГ**¬¬Г«.\n");
    scanf("%i",&metod);
  } while ( metod <0 || metod >3);
  printf("\n");
 
  switch ( metod ) {
    case 0: 
      exit(0);
      break;
    case 1: 
      initdown(o, n);
      break;
    case 2: 
      initrandom(o, n);
      break;
    case 3: 
      initup(o, n);
      break;
  }
  printf("Л†ГЎГҐ®¤*Г«© ¬*ГЎГЎВЁВў\n");
  printmas(o,n);
  printf("Е*®*ГўГ*®«Г¬**ГЇ ГЎГЈ¬¬* ¤® ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %li\n",consum(o,n));
  printf("Е*®«ВЁГ§ВҐГЎГўВў® ГЎВҐГ*ВЁ© ¤® ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %i\n",kolser(o,n));
  printf("\n");
 
  while (1) {
    do {
      printf("‡*¤*©ГўВҐ ГЎВЇ®ГЎ®ВЎ ГЎ®Г*ГўВЁГ*®ВўВЄВЁ.\n");
      printf("1 - ¬ВҐГў®¤ ВЇГ*ГЇ¬®ВЈ® ¢ë¡®Г**.\n");
      printf("2 - ¬ВҐГў®¤ ВЇГЈ§Г«Г*ìª*.\n");
      printf("3 - ¬ВҐГў®¤ ЛњВҐ©ВЄВҐГ**.\n");
      printf("0 - ‚ë室 ВЁ§ ВЇГ*®ВЈГ**¬¬Г«.\n");
      scanf("%i",&metod);
    } while ( metod <0 || metod >3);
    printf("\n");
 
    memcpy(m,o,n*sizeof(int));
 
    switch ( metod ) {
      case 0: 
        exit(0);
        break;
    case 1: 
        sortpr(m, n);
        break;
      case 2:
        sortpuz(m, n);
        break;
      case 3: 
        sortsh(m, n);
        break;
    }
 
    printf("ЕЅГўГЎ®Г*ГўВЁГ*®Вў***Г«© ¬*ГЎГЎВЁВў\n");
    printmas(m,n);
    printf("Е*®*ГўГ*®«Г¬**ГЇ ГЎГЈ¬¬* ВЇ®ГЎ«ВҐ ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %li\n",consum(m,n));
    printf("Е*®«ВЁГ§ВҐГЎГўВў® ГЎВҐГ*ВЁ© ВЇ®ГЎ«ВҐ ГЎ®Г*ГўВЁГ*®ВўВЄВЁ = %i\n",kolser(m,n));
    printf("Е*®«ВЁГ§ВҐГЎГўВў® ГЎГ**Вў*ВҐ*ВЁ© = %li ВЁ ВЄ®«ВЁГ§ВҐГЎГўВў® ВЇВҐГ*ВҐГЎГ««®ВЄ = %li\n",iC,iM);
    printf("\n");
  }
 
  return 0;
}

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

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

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

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

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы