![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Child of Bodom |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Когда то я к вам уже обращался, но вы мне так и не дали jndtnf(FAQи я уже все перечитал и не понимаю все равно как мне сделать). А вот и само задание : Реализовать на базе массива динамическую структуру, указанную в варианте: Дан массив записей, содержащий данные: ФИО, стаж работы, ставка. Создать упорядоченный по ФИО список, не перемещая записи.
Меня надо немного подправить в самой процедуре сортировке(надеюсь остальное то правильно будет). Вот что я наработал: Program Spisok; Помогите плиз, ну никак не пойму Сообщение отредактировано: Child of Bodom - 7.04.2007 9:36 Прикрепленные файлы ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Извини, а ты какой метод сортировки используешь?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Child of Bodom |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ну не знаю по идее пузырьковой, тока там перестановок нет а ищется просто максимальный элемент. А что так не будет работать?
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Создать упорядоченный по ФИО список, не перемещая записи. При твоем условии лучше всего сортировать по индексам, т.е. перемещать не значения записей, а только их индексы:если обычная сортировка выглядит так: For i := 1 To n Do , то тебе надо переделать ее: For i := 1 To n Do а потом пройти по всему массивуи изменить соответствующим образом значение поля next... |
Child of Bodom |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если вот так менять индексы то получится, что как бы меняем индексы чисел, и потом по порядку выводим массив, а поле next тогда вообще не нужно иил я чего то не догоняю. Я вот как хотел, находим максимальную фамилию(последнюю по алфавиту), даем ей значение p (указатель )ну вот эту p указывает beg и вот так налево идти, те beg будет изменятся по мере нахождения нового максимума. Не знаю поймете?
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
А тебе поле next и так вообще не нужно... Ты бы решил, ЧТО тебе нужно, список или массив? Если список, то он создается по другому, если массив - то зачем указатель на следующий элемент?
А можно сделать очередное извращение, и заполнить массив, отсортировать его так, как я показал, потом заполнить поля next согласно индексному массиву, и работать с этим массивом как со списком, т.е. с использованием указателя на голову, и поля next... Если нужно пример - скажи, я сделаю (просто так "в пустоту" делать не буду...) |
Child of Bodom |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Просто я делаю расчетку оп теме которую мы ща проходим "Динамическая память". И мне вот такое задание впихнули. И как бы вот нада сделать точно заполнить массив, и отстортировать не меняя самих записей, может и по индексам отсортировать. Я уж теперь не знаю!!! А вот как лучше просто индексы поменять их и потом вывести как бы получившийся отсортированный массив или вот мой метод ищем в массиве фамилию максимальную и т д
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Ты не хочешь читать, что тебе пишут... Как знаешь. Вот что я имел в виду:
uses crt;(заполнение массива вручную заменено на константу, для тестирования... Создается массив, записи НЕ перемещаются, распечатываются данные уже отсортированными, все пункты задания выполнены.) Цитата А вот как лучше просто индексы поменять их и потом вывести как бы получившийся отсортированный массив или вот мой метод ищем в массиве фамилию максимальную и т д Реализуй свой метод, и сравни объем кода и скорость выполнения... Тогда и узнаешь, что лучше, а что хуже. |
Child of Bodom |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ух ты круто!!! работает, только можете объяснить вот этот массив зачем TIndex = array[1 .. n] of integer; и еще как заменить вот те константы на ввод с клавиатуры, а то мы такую штуку не проходили. Просто баюсь меня спалят с таким умным кодом. И надо писать там еще про поле next?
|
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 15:39 |