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