Составить программу в паскаль: Найти подпоследовательность максимальной длины подряд идущих чисел массива равных между собой
Составить программу в паскаль: Найти подпоследовательность максимальной длины подряд идущих чисел массива равных между собой
Ответ(ы) на вопрос:
Гость
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
Не нашли ответ?
Похожие вопросы