Вопрос задан 17.07.2023 в 07:47. Предмет Информатика. Спрашивает Манапова Лиза.

Дано N целых чисел. Найти количество элементов последовательности, у которых равные соседи (слева и

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Дроздова Аня.

Ответ:

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.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример решения данной задачи на языке Pascal:

pascal
program 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) и самой последовательности. Затем мы обрабатываем первый элемент, проверяя его равенство с последним элементом, и увеличиваем счетчик, если они равны. Затем мы проходим через остальные элементы последовательности, сравнивая каждый элемент с предыдущим, и увеличиваем счетчик при необходимости. В конце мы обрабатываем последний элемент, проверяя его равенство с первым элементом и увеличиваем счетчик, если они равны. Наконец, выводим результат - количество элементов с равными соседями.

Обратите внимание, что в данной программе считается, что последовательность не может быть пустой, и предполагается, что пользователь вводит корректные данные. Вы можете добавить проверки на ошибки ввода, если считаете нужным.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос