Дан одномерный массив из N целых чисел. Отыскать в массиве наивысшую

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

Задать свой вопрос
2 ответа
// 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]gt;=a[i-1] then Inc(currl)
    else begin
      if currlgt;maxl then maxl:=currl;
      currl:=1
      end;
  if currlgt;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
Юлия Нечта
А где N?
Валерия Сакурова
И правда.... сейчас создадим
Черво Никита
1 4 2 3 1Максимальная длина 2. Желая здесь сразу видно подпоследовательность 1 2 3
Konstantin Dushanaliev
Смысл не в этом, а в том, что можно и без второго массива решить
Иван Кудзиев
Откуда 1 2 3 в 1 4 2 3 1 ???
Денчик Гундерин
По условию "из попорядку идущих частей"
Нина Атопкова
извиняюсь, это я ошибся
Дарина Примакова
как обычно все усложняю
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] lt;= a[i] then inc(len)
    else
    begin
      maxlen := max(len, maxlen);
      len := 1;
    end;
  write('Наибольшая длина подрастающей последовательности: ', max(maxlen, len));
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт