Самая длинная неубывающая числовая последовательность - Pascal
Формулировка задачи:
В данном одномерном числовом массиве найти самую длинную неубывающую числовую последовательность и вывести её
на экран.
ПОДСКАЖИТЕ, В ЧЕМ ОШИБКА КОДА
uses crt; var a:array[1..10] of integer; N,j,max,k,i: integer; begin j:=1; max:=0; k:=0; randomize; write ('Массив: '); for i := 1 to 10 do begin a[i] := random(256); write (a[i]:4); end; writeln; for i:=2 to 10 do if a[i]>=a[i-1] then k:=k+1 else begin if k>max then begin max:=k; j:=i-1; end; k:=0; end; for i:=j-k to j do write (a[i],' '); end.
Решение задачи: «Самая длинная неубывающая числовая последовательность»
textual
Листинг программы
uses crt; var a:array[1..10] of integer; n,max,k,i,i1: integer; begin randomize; writeln('Массив:'); for i := 1 to 10 do begin a[i] := random(256); write (a[i]:4); end; writeln; max:=0; k:=0; i1:=1; for i:=2 to 10 do if a[i]>=a[i-1] then k:=k+1 else if (a[i]<a[i-1])or(i=10) then begin if k>max then begin max:=k+1; i1:=i; k:=0; end; end; writeln('Максимальная длина неубывающей последовательности=',max); for i:=i1-max to i1-1 do write (a[i]:4); end.
Объяснение кода листинга программы
- Подключаем модуль crt для доступа к процедурам управления экраном.
- Объявляем массив
a
из 10 целых чисел. - Объявляем переменные
n
,max
,k
,i
иi1
как целочисленные. - Генерируем случайные значения для элементов массива
a
и выводим их на экран. - Инициализируем
max
иk
нулевыми значениями, иi1
устанавливаем равным 1. - Запускаем цикл от 2 до 10 для проверки последовательности.
- В цикле проверяем, чтобы значение текущего элемента массива было больше или равно предыдущему элементу, и если условие выполнилось, увеличиваем счетчик
k
. - Если текущее значение меньше предыдущего или это последний элемент, проверяем, является ли текущая длина последовательности максимальной, и если да, обновляем переменные
max
иi1
. - Выводим на экран максимальную длину неубывающей последовательности.
- Выводим элементы последовательности с максимальной длиной на экран. Код позволяет найти максимальную длину неубывающей числовой последовательности в массиве и отобразить эту последовательность.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д