Исправить ошибки 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;
}
}Решение задачи: «Исправить ошибки 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;
}
}
Объяснение кода листинга программы
- В функции
searchрезультатом произведения на позициях кратных трем являетсяf1. - В функции
MaxMinрезультатом являются массивAсодержащий квадраты чисел и переменныеmaxиminсодержащие индексы максимального и минимального числа в массивеa. - В функции
increaseпроисходит сортировка массиваaпо возрастанию всех элементов не кратных трем.