пельменьярости
19.06.2020 08:49

Составить программу в паскаль: найти подпоследовательность максимальной длины подряд идущих чисел массива равных между собой

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
anastasiyalaza
05.10.2020 23:13
Const
   N = 33;
Var
   A:array[1..N] of integer;
   i,k,M,d:integer;
Begin
Randomize;
Write('Исходный массив:');
For i:= 1 to N do
    Begin
    A[i]:=random(N div 10+1);
    Write(' ',A[i])
    End;
WriteLn;
k:=1;
d:=0;
For i:=1 to N-1 do
    if (A[i]=A[i+1]) then k:=k+1
    else
       Begin
       if k>d then
          Begin
          d:=k;
          M:=i;
          End;
       k:=1;
       End;
if d>1 then WriteLn('Искомая последовательность начинается с элемента №',M-d+1,', и заканчивается элементом №',M,'')
else if d>0 then WriteLn('В массиве нет, стоящих рядом, равных чисел')
     else WriteLn('Все числа в последовательности равны');
End.

Пример:
Исходный массив: 1 1 1 1 1 2 2 1 3 2 0 3 1 3 0 3 3 0 0 1 3 1 1 2 3 0 1 1 2 2 1 0 0
Искомая последовательность начинается с элемента №1, и заканчивается элементом №5
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота