Самая длинная неубывающая числовая последовательность - Pascal

Узнай цену своей работы

Формулировка задачи:

В данном одномерном числовом массиве найти самую длинную неубывающую числовую последовательность и вывести её на экран. ПОДСКАЖИТЕ, В ЧЕМ ОШИБКА КОДА
Листинг программы
  1. uses crt;
  2. var a:array[1..10] of integer;
  3. N,j,max,k,i: integer;
  4. begin
  5. j:=1; max:=0; k:=0;
  6. randomize;
  7. write ('Массив: ');
  8. for i := 1 to 10 do begin
  9. a[i] := random(256);
  10. write (a[i]:4);
  11. end;
  12. writeln;
  13. for i:=2 to 10 do
  14. if a[i]>=a[i-1] then
  15. k:=k+1
  16. else
  17. begin
  18. if k>max then
  19. begin
  20. max:=k;
  21. j:=i-1;
  22. end;
  23. k:=0;
  24. end;
  25. for i:=j-k to j do
  26. write (a[i],' ');
  27. end.

Решение задачи: «Самая длинная неубывающая числовая последовательность»

textual
Листинг программы
  1. uses crt;
  2. var a:array[1..10] of integer;
  3.     n,max,k,i,i1: integer;
  4. begin
  5. randomize;
  6. writeln('Массив:');
  7. for i := 1 to 10 do
  8.  begin
  9.   a[i] := random(256);
  10.   write (a[i]:4);
  11.  end;
  12. writeln;
  13. max:=0;
  14. k:=0;
  15. i1:=1;
  16. for i:=2 to 10 do
  17. if a[i]>=a[i-1] then k:=k+1
  18. else if (a[i]<a[i-1])or(i=10) then
  19.  begin
  20.   if k>max then
  21.    begin
  22.     max:=k+1;
  23.     i1:=i;
  24.     k:=0;
  25.    end;
  26.  end;
  27. writeln('Максимальная длина неубывающей последовательности=',max);
  28. for i:=i1-max to i1-1 do
  29. write (a[i]:4);
  30. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы