Самая длинная неубывающая числовая последовательность - 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.

Объяснение кода листинга программы

  1. Подключаем модуль crt для доступа к процедурам управления экраном.
  2. Объявляем массив a из 10 целых чисел.
  3. Объявляем переменные n, max, k, i и i1 как целочисленные.
  4. Генерируем случайные значения для элементов массива a и выводим их на экран.
  5. Инициализируем max и k нулевыми значениями, и i1 устанавливаем равным 1.
  6. Запускаем цикл от 2 до 10 для проверки последовательности.
  7. В цикле проверяем, чтобы значение текущего элемента массива было больше или равно предыдущему элементу, и если условие выполнилось, увеличиваем счетчик k.
  8. Если текущее значение меньше предыдущего или это последний элемент, проверяем, является ли текущая длина последовательности максимальной, и если да, обновляем переменные max и i1.
  9. Выводим на экран максимальную длину неубывающей последовательности.
  10. Выводим элементы последовательности с максимальной длиной на экран. Код позволяет найти максимальную длину неубывающей числовой последовательности в массиве и отобразить эту последовательность.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы