Дано N целых чисел. Найти количество элементов последовательности, у которых равные соседи (слева и справа). Последовательность рассматривается замкнутой в кольцо, т.е. для первого числа соседом слева является последнее число, а для последнего числа соседом справа является первое число.
Первое и последнее числа обработайте после обработки остальных (после цикла).
Решить на Pascal.
Answers & Comments
Verified answer
Ответ:
program Test;
var
a: array of Integer;
n, i, c, left, right: Integer;
begin
Write ('Введите N: ');
ReadLn (n);
SetLength (a, n);
Write ('Введите элементы массива:');
for i := Low (a) to High (a) do
Read (a [i]);
c := 0;
for i := Low (a) to High (a) do begin
if i > Low (a) then
left := i - 1
else
left := High (a);
if i < High (a) then
right := i + 1
else
right := Low (a);
if a [left] = a [right] then begin
Inc (c);
Write (i + 1, ' '); //для проверки
end;
end;
WriteLn;
WriteLn ('Количество = ', c);
ReadLn; ReadLn;
end.