В таблице есть одинаковые идущие подряд элементы. Подсчитать их количество. - Turbo Pascal
Формулировка задачи:
В таблице А(10) есть одинаковые идущие подряд элементы. Подсчитать их количество.
Решение задачи: «В таблице есть одинаковые идущие подряд элементы. Подсчитать их количество.»
textual
Листинг программы
uses crt;
const n=10;
var a:array[1..n] of integer;
i,j,k,p:byte;
begin
clrscr;
writeln('Введите ',n,' целых чисел, в том числе одинаковые подряд');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Массив');
for i:=1 to n do
write(a[i],' ');
writeln;
i:=2;
k:=0;
while i<=n do
if a[i]=a[i-1] then
begin
j:=i;
p:=1;
while(j<=n)and(a[j]=a[j-1]) do
begin
p:=p+1;
j:=j+1;
end;
i:=i+p;
k:=k+p;
end
else i:=i+1;
if k=0 then write('Нет одинаковых рядом')
else write('Количество одинаковых рядом=',k);
readln
end.
Объяснение кода листинга программы
Этот код на Turbo Pascal запрашивает у пользователя ввести 10 целых чисел, а затем выводит содержимое массива. Затем он подсчитывает количество пар соседних элементов, которые равны друг другу. Если таких пар нет, то выводится сообщение Нет одинаковых рядом, в противном случае выводится количество таких пар.