1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| DruiD |
21.04.2007 12:33
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: 0 |
Помогите составить программу, которая объединяет 2 упорядоченных по убыванию списка в один, тоже упорядоченный по убыванию. После к-того элемента вставить max элемент списка.
|
| klem4 |
21.04.2007 12:34
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Поиск -> Сортировка слияниями
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| DruiD |
21.04.2007 19:07
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: 0 |
Искал я сортировку слияниями в поиске. Близкого к моей задаче ничего не нашёл. Подскажите алгоритм: как выбирать позицию для вставки элемента из 2 списка в 1 список или другие путь решения моей задачи
|
| klem4 |
21.04.2007 19:12
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Отредактировано
Начинаем: 1: если оба списка пусты, завершаем программу, иначе Если один из списков пуст, закидываем в третий список остввшиеся элементы из второго списка, если он конечно не пуст, завершаем программу иначе Если Текущий элемент списка1 >= текущего элемента списка2, то в список3 заносим текущий элемент списка1 и список1 := список1.NEXT иначе заносим текущий элемент списка2 в третий список и список2 := списо2.NEXT GOTO 1 ps метки использовать не надо -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
| DruiD |
22.04.2007 10:20
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: 0 |
Алгоритм понял и прогу прикрепил, но тогда приходится создавать 1-й элемент для 3 списка.
Можно ли решить эту задачу не используя 3 список, а делая действия над двумя данными? Прикрепленные файлы
XM.PAS ( 1.58 килобайт )
Кол-во скачиваний: 309 |
| volvo |
22.04.2007 12:59
Сообщение
#6
|
|
Гость |
Не нужен никакой третий список... Все прекрасно делается с двумя:
Добавлено через 1 мин. Тестировалось на <17, 15, 9, 1, 0> и <14, 7, 6, 2, -2> Вроде работает... |
| DruiD |
26.04.2007 17:44
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Реальное имя: Андрей Репутация: 0 |
Не подскажите почему на паскале 7.0 отрицательные числа не проходят, а на 7.1 проходят
Прикрепленные файлы
SPISKI_reshenie.PAS ( 2.1 килобайт )
Кол-во скачиваний: 278 |
| volvo |
26.04.2007 18:07
Сообщение
#8
|
|
Гость |
Цитата почему на паскале 7.0 отрицательные числа не проходят Обратил внимание, я привел тебе тестовую последовательность с отрицательными числами... Проверялось именно на TP 7.0... Что ты вводил?Добавлено через 4 мин. Кстати, зачем ты делаешь i,k,max:byte;? А если будет два отрицательных числа в начале обоих списков? Проблема... Описывай как Integer... |
![]() ![]() |
|
Текстовая версия | 16.12.2025 4:17 |