Найти максимальное число идущих подряд равных элементов последовательности - C (СИ)
Формулировка задачи:
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.
Решение задачи: «Найти максимальное число идущих подряд равных элементов последовательности»
textual
Листинг программы
#include <stdio.h> #include <math.h> int main() { int a,b,t,fib,nom,flag,otv,max; otv=1; max=-1; b=1; scanf("\n%d", &a); if (a==0) printf("\n0"); else { while (b!=0) { scanf("\n%d",&b); if (a==b) otv+=1; else { if (otv>max) max=otv; otv=1; }; a=b; }; }; if (max==-1||max==1) printf("1\n"); else printf("\n%d", max); }
Объяснение кода листинга программы
В этом коде задача найти максимальное количество одинаковых элементов подряд в последовательности. Список действий:
- Объявляются переменные: a, b, t, fib, nom, flag, otv, max.
- Переменная otv устанавливается равной 1, а переменная max равной -1.
- Переменная b устанавливается равной 1.
- С помощью функции scanf считывается значение переменной a.
- Если a равно 0, то выводится 0.
- В противном случае начинается цикл while, который выполняется до тех пор, пока b не станет равным 0.
- Внутри цикла с помощью функции scanf считывается значение переменной b.
- Если a равно b, то к переменной otv прибавляется 1.
- Если a не равно b, то проверяется, является ли значение otv больше значения max.
- Если это так, то max присваивается значение otv.
- Затем otv устанавливается равным 1, a присваивается значение b, и цикл продолжается.
- После выхода из цикла, если max равно -1 или 1, выводится 1.
- В противном случае выводится значение max.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д