Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей - C (СИ)
Формулировка задачи:
Написать программу с/с++. Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей.
Решение задачи: «Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей»
textual
Листинг программы
#include <stdio.h> int main(int argc, char *argv[]) { const int numbers[] = {1,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0}; const int size = sizeof(numbers) / sizeof(int); int i = 0, max = 0, cnt = 0; for( ; i < size; ++i, cnt = 0) { if(numbers[i]) continue; while(++i < size && !numbers[i]) ++cnt; if(max < ++cnt) max = cnt; } printf("\n%d\n", max); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлен массив
numbers
с 26 элементами, включающими в себя 13 четных и 13 нечетных чисел. - Инициализированы переменные
size
,i
,max
иcnt
. - В цикле
for
перебираются элементы массиваnumbers
. - Если текущий элемент больше 0, то в тело цикла не заходим и переходим к следующему элементу.
- Когда встречается ноль, начинается счетчик
cnt
, который увеличивает счетчик на единицу при каждом следующем нуле. - Если
cnt
больше максимального значенияmax
, то обновляемmax
. - После прохода по всем элементам массива выводим значение
max
. - Программа завершается с результатом работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д