Вопрос задан 29.10.2023 в 09:36.
Предмет Информатика.
Спрашивает Сидоров Иван.
Задача: Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое
наибольшее число подряд идущих элементов этой последовательности равны друг другу (подсчитать одинаковые числа). Вводимые числа: 1,7,7,9,1,0. В ответе должно быть число: 2 (писать на паскале)Ответы на вопрос
Отвечает Деревянко Андрей.
program skoka_odinakovih;
var x,y,k,k1:integer;
begin
writeln('Введите числа. Конец ввода 0 》');
read(y);
k:=1;
k1:=1;
repeat
read(x);
if x=y then
inc(k)
else
begin
y:=x;
if(k>k1) then
k1:=k;
k:=1
end
until x=0;
write(k1)
end.

Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи наиболее удобно использовать цикл. Мы будем считывать числа из последовательности, пока не встретим число 0, и при этом будем подсчитывать наибольшую длину последовательности одинаковых чисел.
Вот пример решения на языке Pascal:
```pascal
program MaxConsecutiveNumbers;
var
number, previousNumber, currentNumber, maxConsecutive: integer;
begin
readln(previousNumber);
currentNumber := previousNumber;
maxConsecutive := 1;
repeat
readln(number);
if number = currentNumber then
begin
currentNumber := number;
maxConsecutive := maxConsecutive + 1;
end
else
begin
currentNumber := number;
if maxConsecutive < 2 then
maxConsecutive := 1;
end;
until number = 0;
writeln('Наибольшее число подряд идущих элементов равных друг другу: ', maxConsecutive);
end.
```
В этом примере мы считываем первое число из последовательности и присваиваем его переменным `previousNumber` и `currentNumber`. Затем инициализируем переменную `maxConsecutive` с единицей, так как в начале у нас уже есть один элемент.
Затем мы запускаем цикл `repeat`, который будет выполняться, пока не будет введено число 0. Внутри цикла мы считываем следующее число и проверяем, равно ли оно текущему числу `currentNumber`. Если равно, то увеличиваем значение `maxConsecutive` на 1. Если не равно, то присваиваем текущему числу новое значение и проверяем, если `maxConsecutive` меньше 2 (то есть у нас есть только одно повторяющееся число), то присваиваем `maxConsecutive` значение 1.
После выхода из цикла выводим на экран результат - наибольшее число подряд идущих элементов равных друг другу.
В данном примере, вводимые числа 1, 7, 7, 9, 1, 0, и ответом будет число 2, так как наибольшая последовательность одинаковых чисел состоит из двух семерок.
0
0
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Информатика 19
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
