Дан одномерный массив из n целых чисел. найти в массиве максимальную длинну последовательности из подряд идущих элементов каждый из которых больше или равен предыдущему
// PascalABC.NET 3.0, сборка 1160 от 05.02.2016 begin var a:=ArrRandom(ReadInteger('n='),1,9); a.Println; var maxl:=0; // максимальная из длин var currl:=1; // текущая длина for var i:=1 to a.Length-1 do if a[i]>=a[i-1] then Inc(currl) else begin if currl>maxl then maxl:=currl; currl:=1 end; if currl>maxl then maxl:=currl; Writeln('Максимальная длина ',maxl); end.
Var a: array[1..100] of integer; n, i, maxlen, len: integer;
begin write('Введите длину последовательности n: '); read(n); write('Введите последовательность: '); for i := 1 to n do read(a[i]); len := 1; for i := 2 to n do if a[i - 1] <= a[i] then inc(len) else begin maxlen := max(len, maxlen); len := 1; end; write('Максимальная длина возрастающей последовательности: ', max(maxlen, len)); end.
begin
var a:=ArrRandom(ReadInteger('n='),1,9); a.Println;
var maxl:=0; // максимальная из длин
var currl:=1; // текущая длина
for var i:=1 to a.Length-1 do
if a[i]>=a[i-1] then Inc(currl)
else begin
if currl>maxl then maxl:=currl;
currl:=1
end;
if currl>maxl then maxl:=currl;
Writeln('Максимальная длина ',maxl);
end.
Тестовое решение:
n= 15
4 2 4 4 1 1 1 7 4 9 4 4 5 4 7
Максимальная длина 4
a: array[1..100] of integer;
n, i, maxlen, len: integer;
begin
write('Введите длину последовательности n: ');
read(n);
write('Введите последовательность: ');
for i := 1 to n do read(a[i]);
len := 1;
for i := 2 to n do
if a[i - 1] <= a[i] then inc(len)
else
begin
maxlen := max(len, maxlen);
len := 1;
end;
write('Максимальная длина возрастающей последовательности: ', max(maxlen, len));
end.