Исправить ошибки Error: nvalid preprocessing directive #std - C (СИ)

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

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

Листинг программы
  1. #include <stdio.h>
  2. #define SIZE 18
  3. void search(int [], int);
  4. void MaxMin(int [], int);
  5. void increase(int [], int);
  6. main()
  7. {
  8. int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
  9. void search(arr, SIZE);
  10. void MaxMin(arr, SIZE);
  11. void increase(arr, SIZE);
  12. }
  13. void search(int a[], int size) //произведение на позициях кратных трем
  14. {
  15. int f1 = 1;
  16. for (int i = 0; i < size; i++)
  17. {
  18. if (i % 3 == 0)
  19. f1 *= a[i]
  20. }
  21. }
  22. void MaxMin(int a[], int size) //нахождение квадратов
  23. {
  24. int max = a[0], min = a[0];
  25. int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
  26. for (int i = 0; i < size; i++)
  27. {
  28. if (max < a[i]) max = i;
  29. if (min > a[i]) min = i;
  30. }
  31. int begin = min < max ? min : max;
  32. int end = min > max ? min : max;
  33. for (int i = 0; begin <= end; begin++)
  34. {
  35. A[i] = a[begin] * a[begin];
  36. i++;
  37. }
  38. }
  39. void increase(int a[], int size) //сортировка по возрастанию всех элементов не кратных трем
  40. {
  41. int hold;
  42. for (int i = 0; i < size; i++)
  43. for (int j = 0; j < size; j++)
  44. if (i % 3 != 0 && a[i] > a[i + 1])
  45. {
  46. hold = a[i];
  47. a[i] = a[i + 1];
  48. a[i + 1] = hold;
  49. }
  50. }
-------------- Build: Debug in 11 (compiler: GNU GCC Compiler)--------------- mingw32-gcc.exe -Wall -g -c C:\Users\Max\Desktop\11\main.c -o obj\Debug\main.o C:\Users\Max\Desktop\11\main.c:2:3: error: invalid preprocessing directive #std C:\Users\Max\Desktop\11\main.c:9:1: warning: return type defaults to 'int' [-Wreturn-type] C:\Users\Max\Desktop\11\main.c: In function 'main': C:\Users\Max\Desktop\11\main.c:13:22: error: expected ')' before numeric constant C:\Users\Max\Desktop\11\main.c:14:22: error: expected ')' before numeric constant C:\Users\Max\Desktop\11\main.c:15:24: error: expected ')' before numeric constant C:\Users\Max\Desktop\11\main.c:11:9: warning: unused variable 'arr' [-Wunused-variable] C:\Users\Max\Desktop\11\main.c: In function 'search': C:\Users\Max\Desktop\11\main.c:23:5: error: 'for' loop initial declarations are only allowed in C99 mode C:\Users\Max\Desktop\11\main.c:23:5: note: use option -std=c99 or -std=gnu99 to compile your code C:\Users\Max\Desktop\11\main.c:27:5: error: expected ';' before '}' token C:\Users\Max\Desktop\11\main.c: In function 'MaxMin': C:\Users\Max\Desktop\11\main.c:35:5: error: 'for' loop initial declarations are only allowed in C99 mode C:\Users\Max\Desktop\11\main.c:44:14: error: redefinition of 'i' C:\Users\Max\Desktop\11\main.c:35:14: note: previous definition of 'i' was here C:\Users\Max\Desktop\11\main.c:44:5: error: 'for' loop initial declarations are only allowed in C99 mode C:\Users\Max\Desktop\11\main.c:33:9: warning: variable 'A' set but not used [-Wunused-but-set-variable] C:\Users\Max\Desktop\11\main.c: In function 'increase': C:\Users\Max\Desktop\11\main.c:55:5: error: 'for' loop initial declarations are only allowed in C99 mode C:\Users\Max\Desktop\11\main.c:56:9: error: 'for' loop initial declarations are only allowed in C99 mode C:\Users\Max\Desktop\11\main.c: In function 'main': C:\Users\Max\Desktop\11\main.c:17:1: warning: control reaches end of non-void function [-Wreturn-type] Process terminated with status 1 (0 minutes, 0 seconds) 11 errors, 4 warnings (0 minutes, 0 seconds)

Решение задачи: «Исправить ошибки Error: nvalid preprocessing directive #std»

textual
Листинг программы
  1. #include <stdio.h>
  2. #define SIZE 18
  3.  
  4. void search(int [], int);
  5. void MaxMin(int [], int);
  6. void increase(int [], int);
  7.  
  8. int main()
  9. {
  10.     int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
  11.  
  12.     search(arr, SIZE);
  13.     MaxMin(arr, SIZE);
  14.     increase(arr, SIZE);
  15.  
  16.     return 0;
  17. }
  18.  
  19. void search(int a[], int size) //произведение на позициях кратных трем
  20. {
  21.     int f1 = 1;
  22.     int i;
  23.     for (i = 0; i < size; i++)
  24.     {
  25.         if (i % 3 == 0)
  26.         {
  27.             f1 *= a[i];
  28.         }
  29.     }
  30. }
  31.  
  32. void MaxMin(int a[], int size) //нахождение квадратов
  33. {
  34.     int max = a[0], min = a[0];
  35.     int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
  36.     int i;
  37.  
  38.     for (i = 0; i < size; i++)
  39.     {
  40.         if (max < a[i])
  41.         {
  42.             max = i;
  43.         }
  44.         if (min > a[i])
  45.         {
  46.             min = i;
  47.         }
  48.     }
  49.  
  50.     int begin = min < max ? min : max;
  51.     int end = min > max ? min : max;
  52.  
  53.     for (i = 0; begin <= end; begin++)
  54.     {
  55.         A[i] = a[begin] * a[begin];
  56.         i++;
  57.     }
  58. }
  59.  
  60. void increase(int a[], int size)  //сортировка по возрастанию всех элементов не кратных трем
  61. {
  62.     int hold;
  63.     int i, j;
  64.  
  65.     for (i = 0; i < size; i++)
  66.         for (j = 0; j < size; j++)
  67.             if (i % 3 != 0 && a[i] > a[i + 1])
  68.             {
  69.                 hold = a[i];
  70.                 a[i] = a[i + 1];
  71.                 a[i + 1] = hold;
  72.             }
  73. }

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

  1. В функции search результатом произведения на позициях кратных трем является f1.
  2. В функции MaxMin результатом являются массив A содержащий квадраты чисел и переменные max и min содержащие индексы максимального и минимального числа в массиве a.
  3. В функции increase происходит сортировка массива a по возрастанию всех элементов не кратных трем.

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


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

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

15   голосов , оценка 3.733 из 5

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

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

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