![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Svetlana |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Всем доброго дня и ночи! Сегодня у меня был экзамен и надо было решить такую задачу:
Дан файл целых чисел.Переупорядочить его по неубыванию с помощью списка.Оформить в виде процедуры Вот что я написала:
Теперь поясню то,что я хотела этим сказать:1.Ищем в файле мин.число,включаем его в список 2.Удаляем из файла минимум 3.Опять ищем в файле минимум,включаем его в список и удаляем из файла...Получается цикл,который заканчивается,когда файл станет пустым. Моя ошибка,на которую указал преподаватель в том,что я минимуму присваиваю 0. Т.е. я не предуссматриваю случаи с отрицательными числами.И вообще она не эффективная...Укажите на ошибки,пожалуйста,если они здесь ещё есть.И как можно было решить эту задачу по-другому?Очень интересно... Сообщение отредактировано: Svetlana - 29.06.2009 12:10 |
![]() ![]() |
Krjuger |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
Цитата допустимы только три операции:просмотр списка,добавление элемента и удаление одного элемента Вот именно!!! различные комбинации этих действий и будут давать вам ваш результат.Вы знакомы с сортироваками в массиве?принцип такой же может быть.Например, вы смотрите на вашу информационную часть первого элемента списка,запоминаете ее,затем переходите ко второму элементу и сравниваете его информационную часть,если у второго меньше, то записываете на первое место,если нет,то переходите дальше к третьему и тд.Я правда подзабыл,как такая сортировка называется,вроде сортировка кучей.А вообще можно любую сортировку приспособить для списка. Цитата Переупорядочить его по неубыванию Тобиш надо упордочить по возрастанию?:0 Велик и богат наш русский язык. А вообще ключевые слова в вашем задании: ......с помощью списка.... А ты посути просто береш список и туда уже в упорядоченном виде записываеш.А задание предполагает,что ты заполниш список,как есть в файле и уже в списке начнеш упорядочивать,ну или вариант Volvo"сразу добавлять элемент в список, сохраняя его упорядоченность по неубыванию".Иначе использование списка становится совсем бессмысленным.И еще желательно было указать какой список вы подразумеваете:однонаправленный или двунаправленный.... И еще у вас в коде указана процедура in-list,ну так почему вы ее не выложите?Ведь ее реализовать тоже можно по разному. Сори,когда писал не видел сообщение Volvo(его тогда е было,когда начал писать). Цитата Значит, тебе надо открыть файл и пройти по нему 49 раз (а это значит, сколько всего элементов ты прочитаешь из файла за эти 49 проходов?) В худшем случае 49! да и еще не надо забывать,что помимо открытия ей еще надо перезаписывать файл удаляя элемент из него,а это еще замедляет процесс.49 раз как никак придется открыть, считать, удалить, закрыть Сообщение отредактировано: Krjuger - 29.06.2009 13:06 |
Svetlana |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Добавлено через 3 мин. Спасибо за ссылку! ![]() З.Ы. Ту последовательность,что ты дал...её же нельзя упорядочить по возрастанию?Так получается. Вот по неубыванию можно... |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 2:36 |