![]() |
|
|
![]()
|
|
| Нитонисе |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Есть такой код.
Сортирующая функция SortFloat выглядит так
А вот это вывод в мемо значений 0,300 1,800 2,100 2,400 1,500 0,600 0,900 1,200 2,700 Они не отсортированы. Почему? |
||||
|
|||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Насколько мне известно, static_cast лучше не использовать для указателей. Пробуйте так:
Это сообщение отредактировал(а) artsb - 25.11.2009, 20:18 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Нитонисе |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
А почему бы не использовать, например, vector и sort?
-------------------- 0x2b|~0x2b |
|||
|
||||
| Нитонисе |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Потому что я слабо знаком с контейнерами STL. Обхожусь классами билдера. Впринципе TList подходит, есть у него и функция сортировки, но вот почему-то не работает. Хотя в другом приложении вроде бы работала. Точно такая же функция. Не пойму в чем дело. |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
-------------------- 0x2b|~0x2b |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
И пример с использованием TList.
Присоединённый файл ( Кол-во скачиваний: 5 )
FloatSortList.rar 195,21 Kb-------------------- 0x2b|~0x2b |
|||
|
||||
| Нитонисе |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Эта функция работает. Однако она же практически ничем не отличается от моей. Почему моя не работает? P.S. В твоем примере не освобождена, по-моему, память, занимаемая элементами TList? ты 4 раза выделяешь память для float, но не освобождаешь ее. |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Разница в том, что разность X1-X2 - float, а функция возвращает тип int. Таким образом,как пример - 0.9 - 0.6 будет равно 0 на выходе функции. Следовательно, получается, что эти два числа равны, что является неправильным.
-------------------- 0x2b|~0x2b |
|||
|
||||
| Нитонисе |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 9 Всего: 17 |
Не за что!
-------------------- 0x2b|~0x2b |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Я же говорю: "насколько помню". Просто забыл немного. Я, вообще, кроме dynamic_cast никакие ..._cast не использую
Это сообщение отредактировал(а) artsb - 26.11.2009, 09:10 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |