Все
Математика
Алгебра
Геометрия
Литература
Русский язык
Истоки
Краеведение
Французский язык
Литературное чтение
Астрономия
Природоведение
Родной край
Немецкий язык
Технология
Физика
Английский язык
Обществознание
Химия
Биология
История
О`zbek tili
Окружающий мир
Естествознание
География
Украинский язык
Информатика
Украинская литература
Казахский язык
Физкультура и спорт
Экономика
Музыка
Право
Белорусский язык
МХК
Кубановедение
ОБЖ
Психология
Кыргыз тили
Другие предметы
Показать все предметы
Рота
21.04.2021, 03:01
Информатика

Напишите программу, которая находит в массиве самую длинную цепочку одинаковых элементов. Программа должна вывести значение

элемента, который встречается наибольшее число раз подряд, и длину этой цепочки. Если в массиве есть несколько цепочек максимальной длины, нужно вывести данные по первой из них.Входные данныеПервая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 3 < N≤ 10000 .Выходные данныеПрограмма должна вывести два числа через пробел: значение элемента массива, который встречается наибольшее число раз подряд, и длину этой цепочки.
Знаешь ответ?

Чтобы оставить ответ, или зарегистрируйтесь.

Ответ или решение 1
Сакварела
var a:array [1..10000] of integer; b:array [1..10000] of integer; c:array [1..10000] of integer; i,j,k,m,n,z,max:integer; begin k:=0; m:=0; writeln ('Введите число n'); readln (n); writeln ('Заполните массив'); for i:=1 to n do begin write ('a[',i,']='); readln (a[i]); end; j:=1; z:=1; for i:=1 to n-1 do begin if (a[i]=a[i+1]) then k:=k+1 else begin c[z]:=a[i]; b[j]:=k+1; k:=0; j:=j+1; z:=z+1; m:=m+1; end; b[j]:=k+1; c[z]:=a[i]; end; max:=b[1]; z:=1; for j:=2 to m+1 do if (b[j]>max) then begin max:=b[j]; z:=j; end; writeln ('Самая длинная цепочка из ',c[z]); writeln ('Встречается ',max,' раз'); end.