Вопрос задан 19.02.2019 в 09:19. Предмет Информатика. Спрашивает Венгер Алина.

Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее

число подряд идущих элементов этой последовательности равны друг другу. (pascal) P.S Надо использовать цикл while, но я не могу понять каким образом.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Халус Юля.
Var a, p, c, max: integer;
begin
  a := -1;
  p := 0;
  c := 0;
  max := 1;
  while a <> 0 do
  begin
    read(a);
    if a <> p then
    begin
      if c > max then max := c;
      c := 0;
    end;
    p := a;
    c := c + 1;
      end;
  write(max);
end.
0 0
Отвечает Кобанова Полина.
python

import sys
import math
import random
a = input("Введите целые числа через пробел: ").split(" ") #schitalia = [int(x) for x in a][:-1] # pereveli k tselomy tipu
count = 1
now = 1
for i in range(1, len(a)):
    if a[i] == a[i-1]: now += 1
    else:
        count = max(count, now)
        now = 1
print('Максимум подряд идут {0} одинаковых чисел.'.format(count))

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

Для решения этой задачи мы можем использовать цикл while и переменные для хранения текущего элемента и предыдущего элемента последовательности. Мы будем считывать числа из последовательности, пока не встретим 0, и проверять, сколько подряд идущих элементов равны друг другу.

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

```pascal program MaxConsecutiveEquals; var current, previous, maxConsecutive, count: integer; begin maxConsecutive := 0; count := 0; previous := -1; // начальное значение предыдущего элемента while true do begin read(current); // считываем следующий элемент последовательности if current = 0 then break; // если встретили 0, завершаем цикл if current = previous then begin count := count + 1; // увеличиваем счетчик подряд идущих элементов if count > maxConsecutive then maxConsecutive := count; // обновляем значение максимальной последовательности end else count := 1; // сбрасываем счетчик, если текущий элемент отличается от предыдущего previous := current; // обновляем значение предыдущего элемента end; writeln('Max consecutive equals: ', maxConsecutive); end. ```

Этот код считывает числа из последовательности, пока не встретит 0, и проверяет, сколько подряд идущих элементов равны друг другу. После завершения цикла он выводит наибольшее число подряд идущих элементов, равных друг другу.

0 0

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

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

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