Самая длинная неубывающая числовая последовательность - 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
. - Выводим на экран максимальную длину неубывающей последовательности.
- Выводим элементы последовательности с максимальной длиной на экран. Код позволяет найти максимальную длину неубывающей числовой последовательности в массиве и отобразить эту последовательность.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д