Определение свойства числовой последовательности - C (СИ)
Формулировка задачи:
Дано целое число N и набор из N целых чисел. Если в наборе нет четных чисел, то вывести True; в противном случае вывести False
если можно с пояснением
Решение задачи: «Определение свойства числовой последовательности»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int n=0;
int flag=0;
int i=0;
int *posl;
do {
printf ("vvedite n. ") ;
scanf("%d", &n);
} while (n<=0); // vvod poka n ne stanet > 0;
posl=calloc(n, sizeof(int)); //vydelyaen pamyat
for (i=0; i<n; ++i) {
printf("\nVvedite chlen posled:");
scanf("%d", &posl[i]);
if (posl[i]%2==0) {
flag=1; // esli est chetnoe - flag=1 i vyxod iz zikla
break;
}
}; // vvod chisel
if(flag) printf("False");
else printf("True");
free(posl); // free memory
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Ввод числа n - программа просит ввести число, которое будет определять размер массива.
- Проверка на некорректный ввод - цикл do-while выполняется до тех пор, пока не будет введено неотрицательное число.
- Выделение памяти под массив - после того как размер массива стал больше 0, программа выделяет память под массив.
- Ввод элементов массива - в цикле for происходит запрос на ввод элементов массива.
- Проверка на четность - для каждого элемента массива проверяется его четность, если он четный, то флаг становится равным 1 и цикл прерывается.
- Вывод результата - после завершения цикла проверяется значение флага, и выводится соответствующее сообщение.
- Освобождение памяти - после выполнения программы память, выделенная под массив, освобождается. Список переменных:
- n - размер массива
- flag - флаг, который меняется в процессе выполнения программы
- i - счетчик цикла
- posl - массив, в который вводятся числа Значения переменных:
- n - неопределено (нужно ввести значение)
- flag - 0 (значение по умолчанию)
- i - 0 (значение по умолчанию)
- posl - не выделен (значение по умолчанию)