Вводятся 10 чисел. Найти наиболее длинную последовательность одинаковых чисел - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Вводятся 10 чисел. Найти наиболее длинную последовательность одинаковых чисел. Например, набрано "2 3 2 4 4 8 2 2 2 3" – здесь максимальная последовательность это "2 2 2". Надо вывести на экран: "Число 2 подряд 3 раза" ПОМОГИТЕ!!!!!!!!

Решение задачи: «Вводятся 10 чисел. Найти наиболее длинную последовательность одинаковых чисел»

textual
Листинг программы
program z1632377_6;
 const n=10;
 var i,k,z,kmax,xp,xs:integer;
begin
 cls;
 k:=0; kmax:=0;
 writeln('Введите ',n,' чисел:');
 read(xp);
 for  i:=2 to n do
  begin
   read(xs);
   if xp=xs
    then k:=k+1
    else begin
      if k>kmax
       then begin z:=xp; kmax:=k end;
      k:=0;
     end;
   xp:=xs
  end;
 if k>kmax
  then begin z:=xs; kmax:=k end;
 if kmax=0
  then writeln('Нужной последовательности нет')
  else writeln('Число ',z,' подряд ',kmax+1,' раз/а')
end.

Объяснение кода листинга программы

Этот код написан на языке Pascal ABC и выполняет следующую задачу: пользователь вводит 10 чисел, а программа находит самую длинную последовательность одинаковых чисел. Переменные в коде объявлены следующим образом:

  • n - количество чисел, которые нужно ввести (в данном случае 10);
  • i - переменная для хранения текущего числа;
  • k - переменная для хранения количества чисел в текущей последовательности;
  • kmax - переменная для хранения максимального количества чисел в последовательности;
  • xp - переменная для хранения предыдущего числа в последовательности;
  • xs - переменная для хранения текущего числа в последовательности. Программа начинается с инициализации переменных k и kmax нулевыми значениями. Затем программа запрашивает у пользователя 10 чисел и сохраняет их в переменных xp и xs. Далее идет цикл, который проверяет каждое число в последовательности. Если текущее число совпадает с предыдущим, то переменная k увеличивается на единицу. Если текущее число не совпадает с предыдущим, то переменная k сбрасывается на ноль, и цикл начинается заново с начала. Если после завершения цикла переменная k больше переменной kmax, то это означает, что найдена более длинная последовательность чисел, и программа выводит на экран номер и значение этого числа. Если же переменная kmax равна нулю, то программа выводит сообщение о том, что необходимая последовательность чисел отсутствует.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы