Определить, образуют ли элементы массива арифметическую прогрессию - C (СИ)
Формулировка задачи:
Задан целочисленный массив размера N. Определить, образуют ли элементы массива арифметическую прогрессию.
#include <stdio.h>
#include <math.h>
int main(int argc, char* argv[])
{int mas [100]; int N, d,r, i, k=0;
printf("Vvedite razmernost massiva: ");
scanf ("%d",&N);
for (i=0; i<N; i++)
{
//printf ("%d", i++);
scanf("%d",&mas[i]);
}
d==mas[1]-mas[2];
for (i=2; i<N; i++)
{ r==mas[i]-mas[i+1] ;
if (r=d)
printf ("Yavlartsya ");
else ("Neyavl ");}
getch();
return 0;
}Решение задачи: «Определить, образуют ли элементы массива арифметическую прогрессию»
textual
Листинг программы
#include <stdio.h>
int main() {
int n;
int flag = 0;
int a;
scanf("%d", &n);
int array[n];
int i = 0;
for ( ; i < n; i++ ) {
scanf("%d", &array[i]);
}
a = array[1] - array[0];
i = 1;
n = n - 1;
for ( ; i < n; i++ ) {
if ( array[i+1] - array[i] != a ) {
flag = 1;
break;
}
}
if ( flag ) {
printf("Ne yavlaets9\n");
} else {
printf("9vlaetsz\n");
}
scanf("\n");
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Сначала пользователю предлагается ввести количество элементов в массиве (переменная
n). - Затем, в цикле, пользователю предлагается ввести элементы массива (переменная
array). - Далее, вычисляется разность между вторым и первым элементом массива (переменная
a). - Затем, в цикле, проверяется, являются ли все элементы массива, начиная со второго, арифметической прогрессией с шагом `a (переменная
flag). - Если хотя бы один элемент не соответствует прогрессии, то в переменную
flagзаписывается 1 и цикл прерывается. - Если все элементы соответствуют прогрессии, то выводится сообщение об этом (переменная
printf). - Наконец, пользователю предлагается ввести символ новой строки для завершения ввода (переменная
scanf). - Код завершается возвратом 0, что означает успешное выполнение программы.