Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 2
Регистрация: 05.01.2016
Сообщений: 68

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

05.01.2016, 21:13. Показов 2634. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводятся 10 чисел. Найти наиболее длинную
последовательность одинаковых чисел. Например, набрано "2 3 2 4 4 8 2 2 2 3" –
здесь максимальная последовательность это "2 2 2". Надо вывести на экран:
"Число 2 подряд 3 раза"

ПОМОГИТЕ!!!!!!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2016, 21:13
Ответы с готовыми решениями:

В произвольной последовательности чисел найти самую длинную последовательность, упорядоченную по возрастанию
В произвольной последовательности чисел, заданной в виде одномерного массива, найти самую длинную последовательность, упорядоченную по...

Выяснить, сколько одинаковых чисел содержит последовательность целых чисел a, b, c
Выяснить, сколько одинаковых чисел содержит последовательность целых чисел a, b, c. Входные данные вводятся пользователем с экрана. Вывод...

Последовательно вводятся 10 чисел. Найти количество чисел, которые меньше числа 2
Нужна помощь последовательно вводятся 10 чисел. Найти количество чисел, которые меньше числа 2

8
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
05.01.2016, 22:13
Лучший ответ Сообщение было отмечено KiRiLl1452 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program z1632377;                          //Если числа вещественные, то
 const n=10;
 var i,y,z,k,kmax:integer;                 //var i,k,kmax:integer; y,z:real;
     x:array [1..n] of integer;            //x:array [1..n] of real;
begin
 cls;
 writeln('Введит ',n,' чисел:');
 for  i:=1 to n do
  read(x[i]);
 k:=0; kmax:=0;
 for  i:=1 to n-1 do
  if x[i]=x[i+1]
   then begin k:=k+1; y:=x[i] end
   else if k>kmax
         then begin kmax:=k; k:=0; z:=y end;
 if kmax=0
  then writeln('Нужной последовательности нет')
  else writeln('Число ',z,' подряд ',kmax+1,' раз')
end.
1
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.01.2016, 00:32
schoolteacher, не корректно. ты не учитываешь числа в конце последовательности.
введи, например,
1 2 3 4 1 1 5 5 5 5
поймёшь, что я имею в виду
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
06.01.2016, 09:41
Да и переменные лишние...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
program P12;
 const n=10;
 var i,k,z,kmax:integer;
     x:array [1..n] of integer;
begin
 cls;
 writeln('Введите ',n,' чисел:');
 for  i:=1 to n do
  read(x[i]);
 k:=0; kmax:=0;
 for  i:=1 to n-1 do
  if x[i]=x[i+1]
   then Begin
       k:=k+1;
       z:=x[i];
   end
   else if k>kmax then begin
           kmax:=k;
           k:=0;
        end;
 if k>0 then kmax:=k;
 if kmax=0 then
    writeln('Нужной последовательности нет')
 else
    writeln('Число ',z,' подряд ',kmax+1,' раз')
end.
1
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.01.2016, 13:13
Catstail, я не хочу Вас расстраивать, но у Вас решение тоже не верное...
попробуйте на числах: 1 2 3 4 5 5 5 5 7 7
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
06.01.2016, 13:19
Sergio Leone, о... Разумеется:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
program P12;
 const n=10;
 var i,k,z,kmax:integer;
     x:array [1..n] of integer;
begin
 cls;
 writeln('Введите ',n,' чисел:');
 for  i:=1 to n do
  read(x[i]);
 k:=0; kmax:=0;
 for  i:=1 to n-1 do
  if x[i]=x[i+1]
   then Begin
       k:=k+1;
       z:=x[i];
   end
   else if k>kmax then begin
           kmax:=k;
           k:=0;
        end;
 if k>kmax then kmax:=k;
 if kmax=0 then
    writeln('Нужной последовательности нет')
 else
    writeln('Число ',z,' подряд ',kmax+1,' раз')
end.
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.01.2016, 13:30
Лучший ответ Сообщение было отмечено KiRiLl1452 как решение

Решение

опять с маленькой ошибкой . проверьте на последовательности: 1 2 3 4 5 5 5 5 7 7


Catstail, если разрешите, я позволю себе так модифицировать ваше решение:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program P12;
 const n=10;
 var i,k,z,kmax:integer;
     x:array [1..n] of integer;
begin
 cls;
 writeln('Введите ',n,' чисел:');
 for  i:=1 to n do
  read(x[i]);
 k:=0; kmax:=0;
 for  i:=1 to n-1 do
  if (x[i]=x[i+1])
   then k:=k+1
   else begin
       if k>kmax then begin
           z:=x[i];
           kmax:=k;
       end;
       k:=0;
       end;
 
 if k>kmax then begin
      z:=x[n];  kmax:=k;
   end;
 
 if kmax=0 then
    writeln('Нужной последовательности нет')
 else
    writeln('Число ',z,' подряд ',kmax+1,' раз')
end.
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
06.01.2016, 14:17
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Sergio Leone, ну да, я это и имел в виду.

Добавлено через 30 минут
А вот естественное обобщение задачи, которое печатает не первую последовательность максимальной длины, а все таковые, если их несколько:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
program P12;
 const n=10;
 var i,k,z,kmax,p:integer;
     x:array [1..n] of integer;
     q:array [1..n] of integer;
     r:array [1..n] of integer;
begin
 cls;
 writeln('Введите ',n,' чисел:');
 for  i:=1 to n do
  read(x[i]);
 
 k:=0;
 kmax:=0;
 p:=0;
 
 for  i:=1 to n-1 do
  if x[i]=x[i+1]
   then Begin
       k:=k+1;
       z:=x[i];
   end
   else Begin
      if k=kmax then begin
         p:=p+1;
         q[p]:=k+1;
         r[p]:=z;
         k:=0;
      end;
      if k>kmax then begin
         kmax:=k;
         p:=1;
         q[p]:=k+1;
         r[p]:=z;
         k:=0;
      end;
 end;
 
 if k = kmax then begin
    p:=p+1;
    q[p]:=k+1;
    r[p]:=z;
 end;
 
 if k>kmax then begin
    kmax:=k;
    p:=1;
    q[p]:=k+1;
    r[p]:=z;
 end;
 
 if kmax=0 then
    writeln('Нужной последовательности нет')
 else Begin
    writeln('Наиболее длинные отрезки одинаковых:');
    for i:=1 to p do writeln(r[i],' к-во: ',q[i]);
 end;
 
end.
1
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
09.01.2016, 09:29
Лучший ответ Сообщение было отмечено Sergio Leone как решение

Решение

Как вариант – программа P12 от Sergio Leone без массива, переменных на 1 больше, но объём используемой памяти меньше.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2016, 09:29
Помогаю со студенческими работами здесь

Вводятся N чисел. Найти среднее значение чисел, кратных трем.
Прошу решить 2 задачи(В Pascal ABC). Я начинающий, не очень понимаю пока. 1. Составить значение функции х=(х2+1)/(x2-1) на отрезке от -5...

программа, которая считывает цепочку чисел и печатает наиболее длинную, монотонно возрастающую их подпоследовательность
Добрый день!Помогите решить задачку. Составить программу: программа, которая считывает цепочку чисел и печатает наиболее...

Задано N количество чисел последовательности и последовательность из N чисел. Найти и вывести произведение этих чисел и первое положительно число
Задано N количество чисел последовательности и последовательность из N чисел. Найти и вывести произведение этих чисел и первое положительно...

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

Определить номер столбца, который содержит самую длинную серию одинаковых чисел
1) Задана целочисленная матрица A(N,M). Определить номер столбца, который содержит самую длинную серию одинаковых чисел.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru