Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 6

Вводится последовательность целых чисел, признак конца последовательности - два подряд идущих одинаковых числа

18.11.2020, 12:01. Показов 3237. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводится последовательность целых чисел, признак конца последовательности - два подряд идущих одинаковых числа.
Определить количество серий, в которых числа упорядочены по возрастанию
Пример:
3 2 1 4 6 2 7 6 3 8 8
Результаты:
Серии
1 4 6
2 7
3 8
3 серии
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2020, 12:01
Ответы с готовыми решениями:

Имеются ли в последовательности два идущих подряд нулевых числа или три подряд одинаковых числа
44. Даны целые числа k, k,...,k (m=20). Имеются ли в последовательности два идущих подряд нулевых числа или три подряд одинаковых числа

Дана непустая последовательность ненулевых целых чисел, за которой следует 0 (0 - признак конца последовательности)
Дана непустая последовательность ненулевых целых чисел, за которой следует 0 (0 - признак конца последовательности). Определить три...

Дана непустая последовательность ненулевых целых чисел, за которой следует 0(0 - признак конца последовательности)
Дана непустая последовательность ненулевых целых чисел, за которой следует 0(0 - признак конца последовательности) Определить, сколько из...

9
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
18.11.2020, 18:31
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
##
var a := new List<integer>;
a.Add(ReadInteger);
repeat a.Add(ReadInteger) until a[^1] = a[^2];
var rost := |-1| + a.Incremental((i,j) -> sign(j-i)).toArray;
var serii := 0; 'Серии'.Println;
foreach var j in rost.Pairwise.ToArray.Indices(t-> t = (-1,1)) do
begin
  a[j].Print; 
  var i := j+1; serii += 1;
  while rost[i] = 1 do begin a[i].Print;  i += 1 end;
  Println
end;
Println('Кол-во серий:',serii);
1
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 6
25.11.2020, 08:49  [ТС]
А как это можно сделать без массива?
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
25.11.2020, 09:09
Лучший ответ Сообщение было отмечено mr-Crocodile как решение

Решение

Pascal
1
## var(c,l,p,n):=(0,0,ReadInteger,ReadInteger);while p<>n do begin if p>n then begin if l>0 then c+=1;l:=0;end else l+=1;(p,n):=(n,ReadInteger);end;if l>0 then c+=1;c.Print;
2
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
25.11.2020, 10:04
JuriiMW, а зачем в одну строчку? чтобы казалось короче, или чтобы было менее читабельно?

кстати,
Цитата Сообщение от JuriiMW Посмотреть сообщение
Pascal
1
else l+=1;
нет смысла наращивать, достаточно
Pascal
1
l := 1
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
25.11.2020, 10:17
mr-Crocodile, алгоритм сложился и сразу записал прямо из головы в программу…
не задумывался о красоте и форматировании…
при отладке выдал правильно и при тестовых данных ТС всё сошлось…
1
 Аватар для canadamoscow
1179 / 430 / 194
Регистрация: 23.03.2020
Сообщений: 1,021
Записей в блоге: 1
25.11.2020, 12:22
JuriiMW, вот только код нужно нарастить, чтобы получить требуемое:
Результаты:
Серии
1 4 6
2 7
3 8
3 серии
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
25.11.2020, 13:53
Цитата Сообщение от canadamoscow Посмотреть сообщение
вот только код нужно нарастить, чтобы получить требуемое:
да нет, вроде бы не нужно.
смотрите, вопрос как звучит?
Цитата Сообщение от Nervi Посмотреть сообщение
Определить количество серий, в которых числа упорядочены по возрастанию
Ответ: 3

а серии расписаны просто для понимания, почему ответ 3, выводить их не требуется.
1
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 6
02.12.2020, 07:48  [ТС]
Суть в том, что последовательность должна быть только одна и любой длины, и именно в этой последовательности нужно подсчитать сколько серий чисел идут по возрастанию.
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
04.12.2020, 16:30
Цитата Сообщение от Nervi Посмотреть сообщение
Суть в том, что последовательность должна быть только одна и любой длины, и именно в этой последовательности нужно подсчитать сколько серий чисел идут по возрастанию.
точно. и именно это делает код в пост #4
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2020, 16:30
Помогаю со студенческими работами здесь

Дана непустая последовательность положительных целых чисел, за которой следует 0 (это признак конца последовательности). Вычислить среднее геометри
//Дана непустая последовательность положительных целых чисел, за которой следует 0 //(это признак конца последовательности). Вычислить...

Вводится последовательность натуральных чисел. Признак конца ввода – 0. определить является ли последовательность геометрической прогрессией
Помогите пожалуйста написать программу на языке Паскаль, без использования массива.

В последовательности целых чисел определить, имеются ли в ней два идущих подряд положительных элемента
(Задачу реализовать без использования массивов) В последовательности целых чисел определить,имеются ли в ней два идущих подряд...

Вводится последовательность чисел. Признак конца ввода – число 777.
Вводится последовательность чисел. Признак конца ввода – число 777. Записать алгоритм решения следующей задачи-Подсчета количества...

Определите, есть ли в последовательности чисел два подряд идущих нулевых числа
с клавиатуры водятся числа до тех пор пока не введено 100. определите, есть ли в последовательности чисел два подряд идущих нулевых числа!!


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru