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

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

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

#include <stdio.h>
#define SIZE 18
 
void search(int [], int);
void MaxMin(int [], int);
void increase(int [], int);
 
main()
{
    int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
 
    void search(arr, SIZE);
    void MaxMin(arr, SIZE);
    void increase(arr, SIZE);
 
}
 
void search(int a[], int size) //произведение на позициях кратных трем
{
    int f1 = 1;
 
    for (int i = 0; i < size; i++)
    {
        if (i % 3 == 0)
            f1 *= a[i]
    }
}
 
void MaxMin(int a[], int size) //нахождение квадратов
{
    int max = a[0], min = a[0];
    int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
 
    for (int i = 0; i < size; i++)
    {
        if (max < a[i]) max = i;
        if (min > a[i]) min = i;
    }
 
    int begin = min < max ? min : max;
    int end = min > max ? min : max;
 
    for (int i = 0; begin <= end; begin++)
    {
        A[i] = a[begin] * a[begin];
        i++;
    }
}
 
void increase(int a[], int size)  //сортировка по возрастанию всех элементов не кратных трем
{
    int hold;
 
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
            if (i % 3 != 0 && a[i] > a[i + 1])
            {
                hold = a[i];
                a[i] = a[i + 1];
                a[i + 1] = hold;
            }   
}
-------------- 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
Листинг программы
#include <stdio.h>
#define SIZE 18
 
void search(int [], int);
void MaxMin(int [], int);
void increase(int [], int);
 
int main()
{
    int arr[SIZE] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
 
    search(arr, SIZE);
    MaxMin(arr, SIZE);
    increase(arr, SIZE);
 
    return 0;
}
 
void search(int a[], int size) //произведение на позициях кратных трем
{
    int f1 = 1;
    int i;
    for (i = 0; i < size; i++)
    {
        if (i % 3 == 0)
        {
            f1 *= a[i];
        }
    }
}
 
void MaxMin(int a[], int size) //нахождение квадратов
{
    int max = a[0], min = a[0];
    int A[size]; //в этом массиве будут храниться все квадраты нужных нам чисел
    int i;
 
    for (i = 0; i < size; i++)
    {
        if (max < a[i])
        {
            max = i;
        }
        if (min > a[i])
        {
            min = i;
        }
    }
 
    int begin = min < max ? min : max;
    int end = min > max ? min : max;
 
    for (i = 0; begin <= end; begin++)
    {
        A[i] = a[begin] * a[begin];
        i++;
    }
}
 
void increase(int a[], int size)  //сортировка по возрастанию всех элементов не кратных трем
{
    int hold;
    int i, j;
 
    for (i = 0; i < size; i++)
        for (j = 0; j < size; j++)
            if (i % 3 != 0 && a[i] > a[i + 1])
            {
                hold = a[i];
                a[i] = a[i + 1];
                a[i + 1] = hold;
            }
}

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

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

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


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

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

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