В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
geekeuphoria
geekeuphoria
11.05.2023 16:07 •  Информатика

На pascal дан линейный массив из n целых чисел (n=10). найти и вы- вести самую длинную неубывающую подпоследовательность подряд идущих элементов массива и ее длину. если таковых несколько, то вывести одну из них. пример: исходный массив 1 2 3 2 3 3 4 3 4 5, ответ 2 3 3 4, длина = 4.

Показать ответ
Ответ:
4977
4977
09.08.2020 13:26
Const n=10;
var 
  k,l,m,i,j: integer;
  var a: array[1..n] of integer;
begin
  k:=0; m:=0; j:=0; l:=0;
  for i:=1 to n do begin
    a[i]:=random(10);
    write (a[i]:3);
    if (i>1) and (a[i]>=a[i-1]) 
      then begin k:=k+1; j:=i; end
      else 
        if (k>0) and (k>l) 
          then begin l:=k; m:=j; k:=0 end
          else k:=0;
  end;
  if (k>0) and (k>l) 
    then begin l:=k; m:=n end; 
  writeln;
  writeln;
  for i:=m-l to m do 
    write (a[i]:3);
  l:=l+1;
  writeln;
  writeln ('Длина = ',l)
end.
результат:
  9  2  5  0  8  5  7  7  3  7

  5  7  7
Длина = 3

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