Найти длину самой длинной последовательности стоящих рядом одинаковых элементов - PascalABC.NET
Формулировка задачи:
Заполнить массив из 10 элементов числами и найти длину самой длинной последовательности стоящих рядом одинаковых элементов.
Листинг программы
- program start;
- Var A : Array [1..10] of Integer;
- Var B: array[1..10] of Integer;
- Var i,k: integer;
- begin
- For i:=1 to 10 do begin
- Write('Enter value {',i,'} = ... ');
- Read (A[i]);
- end;
- k:=1;
- For i:=1 to 9 do begin
- If A[i]=A[i+1] then begin
- k:=k+1;
- end
- else
- B[i]:=k;
- k:=1;
- end;
- k:=1;
- For i:= 1 to 10 do begin
- If B[i]>B[k] then
- K:=i;
- end;
- Writeln('max length = ',b[k]);
- end.
Решение задачи: «Найти длину самой длинной последовательности стоящих рядом одинаковых элементов»
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.
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Создается массив A размером n, где n — константа, равная 10.
- Вводится значение первого элемента массива A с помощью функции Readln.
- Инициализируется переменная mx значением 1.
- Устанавливается значение переменной i равным 2.
- Запускается цикл while, который выполняется до тех пор, пока i не станет больше n.
- Внутри цикла проверяется, равен ли текущий элемент массива A элементу, следующему за ним. Если да, то выполняется следующий блок кода.
- В этом блоке кода устанавливается переменная k равной 1, а переменная j — равной i.
- Затем выполняется цикл while, который будет выполняться до тех пор, пока элемент массива A[j] равен элементу A[j-1] и j меньше или равно n.
- Внутри этого цикла увеличивается значение переменной k на 1, а затем увеличивается значение переменной j на 1.
- Если значение переменной k больше значения переменной mx, то значение переменной mx присваивается значение переменной k.
- После выхода из внутреннего цикла while значение переменной i увеличивается на значение переменной k.
- Если текущий элемент массива A не равен элементу, следующему за ним, то значение переменной i увеличивается на 1.
- После выхода из цикла while выводится сообщение с максимальным значением длины последовательности. Список действий:
- Создать массив A размером n.
- Ввести значение первого элемента массива A.
- Инициализировать переменную mx значением 1.
- Установить значение переменной i равным 2.
- Пока i меньше или равно n, проверять равенство текущего элемента массива A элементу, следующему за ним. Если да, перейти к шагу 7.
- Установить переменную k равной 1, а переменную j — равной i.
- Пока элемент массива A[j] равен элементу A[j-1] и j меньше или равно n, увеличить значение переменной k на 1, а затем увеличить значение переменной j на 1.
- Если значение переменной k больше значения переменной mx, присвоить значение переменной mx значение переменной k.
- После выхода из внутреннего цикла while, увеличить значение переменной i на значение переменной k.
- Если текущий элемент массива A не равен элементу, следующему за ним, увеличить значение переменной i на 1.
- После выхода из цикла while вывести сообщение с максимальным значением длины последовательности.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д