Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей - 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;
}

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

В этом коде:

  1. Объявлен массив numbers с 26 элементами, включающими в себя 13 четных и 13 нечетных чисел.
  2. Инициализированы переменные size, i, max и cnt.
  3. В цикле for перебираются элементы массива numbers.
  4. Если текущий элемент больше 0, то в тело цикла не заходим и переходим к следующему элементу.
  5. Когда встречается ноль, начинается счетчик cnt, который увеличивает счетчик на единицу при каждом следующем нуле.
  6. Если cnt больше максимального значения max, то обновляем max.
  7. После прохода по всем элементам массива выводим значение max.
  8. Программа завершается с результатом работы.

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


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

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

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