
Дано N целых чисел. Найти количество элементов последовательности, у которых равные соседи (слева и
справа). Последовательность рассматривается замкнутой в кольцо, т.е. для первого числа соседом слева является последнее число, а для последнего числа соседом справа является первое число. Первое и последнее числа обработайте после обработки остальных (после цикла). Решить на Pascal.

Ответы на вопрос

Ответ:
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.



Вот пример решения данной задачи на языке Pascal:
pascalprogram CountEqualNeighbors; const MAX_N = 100; var sequence: array[1..MAX_N] of integer; n, count: integer; i: integer; begin writeln('Введите количество элементов последовательности (N):'); readln(n); writeln('Введите последовательность:'); for i := 1 to n do readln(sequence[i]); // Обработка первого элемента if sequence[1] = sequence[n] then count := 1 else count := 0; // Обработка остальных элементов for i := 2 to n do begin if sequence[i] = sequence[i-1] then count := count + 1; end; // Обработка последнего элемента if sequence[n] = sequence[1] then count := count + 1; writeln('Количество элементов с равными соседями:', count); end.
Программа начинается с запроса на ввод количества элементов последовательности (N) и самой последовательности. Затем мы обрабатываем первый элемент, проверяя его равенство с последним элементом, и увеличиваем счетчик, если они равны. Затем мы проходим через остальные элементы последовательности, сравнивая каждый элемент с предыдущим, и увеличиваем счетчик при необходимости. В конце мы обрабатываем последний элемент, проверяя его равенство с первым элементом и увеличиваем счетчик, если они равны. Наконец, выводим результат - количество элементов с равными соседями.
Обратите внимание, что в данной программе считается, что последовательность не может быть пустой, и предполагается, что пользователь вводит корректные данные. Вы можете добавить проверки на ошибки ввода, если считаете нужным.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili