Найти длину самой длинной последовательности стоящих рядом одинаковых элементов - PascalABC.NET

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

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

Заполнить массив из 10 элементов числами и найти длину самой длинной последовательности стоящих рядом одинаковых элементов.

Решение задачи: «Найти длину самой длинной последовательности стоящих рядом одинаковых элементов»

textual
Листинг программы
program start;
const n=10;
Var A : Array [1..n] of Integer;
    i,j,k,mx: integer;
begin
For i:=1 to n do
 begin
   Write('Enter value {',i,'} = ... ');
   Readln (A[i]);
 end;
mx:=1;
i:=2;
while i<=n do
if A[i]=A[i-1] then
 begin
  k:=1;
  j:=i;
  while(j<=n)and(A[j]=A[j-1]) do
   begin
    k:=k+1;
    j:=j+1;
   end;
  if k>mx then mx:=k;
  i:=i+k;
 end
else i:=i+1;
Writeln('max length = ',mx);
end.

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

В этом коде выполняется следующая последовательность действий:

  1. Создается массив A размером n, где n — константа, равная 10.
  2. Вводится значение первого элемента массива A с помощью функции Readln.
  3. Инициализируется переменная mx значением 1.
  4. Устанавливается значение переменной i равным 2.
  5. Запускается цикл while, который выполняется до тех пор, пока i не станет больше n.
  6. Внутри цикла проверяется, равен ли текущий элемент массива A элементу, следующему за ним. Если да, то выполняется следующий блок кода.
  7. В этом блоке кода устанавливается переменная k равной 1, а переменная j — равной i.
  8. Затем выполняется цикл while, который будет выполняться до тех пор, пока элемент массива A[j] равен элементу A[j-1] и j меньше или равно n.
  9. Внутри этого цикла увеличивается значение переменной k на 1, а затем увеличивается значение переменной j на 1.
  10. Если значение переменной k больше значения переменной mx, то значение переменной mx присваивается значение переменной k.
  11. После выхода из внутреннего цикла while значение переменной i увеличивается на значение переменной k.
  12. Если текущий элемент массива A не равен элементу, следующему за ним, то значение переменной i увеличивается на 1.
  13. После выхода из цикла while выводится сообщение с максимальным значением длины последовательности. Список действий:
  14. Создать массив A размером n.
  15. Ввести значение первого элемента массива A.
  16. Инициализировать переменную mx значением 1.
  17. Установить значение переменной i равным 2.
  18. Пока i меньше или равно n, проверять равенство текущего элемента массива A элементу, следующему за ним. Если да, перейти к шагу 7.
  19. Установить переменную k равной 1, а переменную j — равной i.
  20. Пока элемент массива A[j] равен элементу A[j-1] и j меньше или равно n, увеличить значение переменной k на 1, а затем увеличить значение переменной j на 1.
  21. Если значение переменной k больше значения переменной mx, присвоить значение переменной mx значение переменной k.
  22. После выхода из внутреннего цикла while, увеличить значение переменной i на значение переменной k.
  23. Если текущий элемент массива A не равен элементу, следующему за ним, увеличить значение переменной i на 1.
  24. После выхода из цикла while вывести сообщение с максимальным значением длины последовательности.

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


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

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

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