Дан одномерный массив из n целых чисел. найти в массиве максимальную длинну последовательности из подряд идущих элементов каждый из которых больше или равен предыдущему

КАНЯ1111111111 КАНЯ1111111111    3   18.07.2019 07:30    0

Ответы
ксю882 ксю882  03.10.2020 07:04
// 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.

Тестовое решение:
n= 15
4 2 4 4 1 1 1 7 4 9 4 4 5 4 7
Максимальная длина 4
ПОКАЗАТЬ ОТВЕТЫ
Sabriba077 Sabriba077  03.10.2020 07:04
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика