Сортировка по возрастанию, Двумерный список |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Сортировка по возрастанию, Двумерный список |
habi |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 44 Пол: Мужской Реальное имя: Артём Репутация: 0 |
Вот код, работает, сортирует окна, по увеличению гипотенузы(расстояния от нижнего правого угла до верхнего левого экрана) Но при повторном вызове Invalid floating point operation процедура vivod лишь прорисовывает окна в одинарной рамке, а если конец списка, то в двойной. Помогите исправить ошибку. Рад буду услышать совет по оптимизации или другой алгоритм. Сообщение отредактировано: habi - |
volvo |
Сообщение
#2
|
Гость |
1. В процедуре сортировки у тебя идет попытка обращения к неинициализированному указателю, ибо память под CCC^ ты не выделяешь нигде... Как оно у тебя работало, и КУДА записывало информацию - никому не ведомо
k1:=sqr(round(tek^.x2/2)+tek^.x1);+ ниже (после обмена) не забудь удалить, иначе получишь утечку... 2. Внутри For-цикла запрещено менять параметр (если уж так надо - пользуйся While-ом), а ты меняешь, там же, в процедуре Sortirovka: tek:=tek^.next;- результат может быть непредсказуем... Я для теста поменял на While... 3. Если б ты сразу отделил информационное поле от next/prev, т.е., делал как-нибудь так: type, то вместо поэлементного копирования полей мог бы записать: CCC^.info := tmp^.info;, да и вообще можно было бы обойтись без выделения памяти под CCC, достаточно было бы описать статически структуру типа InfoType. Так что выбирай, или оставляешь все, как есть, или делаешь, как лучше Сообщение отредактировано: volvo - |
Текстовая версия | 29.04.2024 18:42 |