|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.05.2008, 21:09 | #1 |
Регистрация: 09.05.2008
Сообщений: 5
|
Дробные числа
Драсти!
В ходе написания проги у мя возникла проблема. Перешерстив книги я не нашел ответа и вот пришел сюды. Я сравниваю делаю сартировку дробных значений по убыванию в StringGrid1 и записываю её результаты в StringGrid3. Когда у меня разница между 2мя значениями более 0,5 , то все нормально, но когда она меньше (6,31 и 5,97), то начинаются проблемы. Типы переменных Real. 1. Как мне корректно их сравнивать? 2. Можно ли в StringGrid делать сортировку как-то проще? Код:
Последний раз редактировалось Stilet; 12.05.2008 в 09:15. |
09.05.2008, 21:19 | #2 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Что в таблице должно быть отсортировано по убыванию?
Значения в строках? в столбцах? Или как-то иначе сортируется таблица? (не могу понять из вашего алгоритма) Последний раз редактировалось _Dmitry; 09.05.2008 в 22:20. |
09.05.2008, 23:03 | #3 | |
Регистрация: 09.05.2008
Сообщений: 5
|
СПС что откликнулись.
Сартируются строки из SG1[istsg1,2] по убыванию в SG3[istsg2,1]. У меня вопрос лишь в том как правильно сравнивать дробные числа, а остальное я в приципе сделаю. Вот упрощенный вариант: Цитата:
Последний раз редактировалось EAAlien; 10.05.2008 в 16:45. |
|
11.05.2008, 10:05 | #4 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Код:
|
12.05.2008, 19:59 | #6 | |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Цитата:
Массив сортируется следующим образом: просматриваем весь массив, начиная с нулевого элемента, находим max и меняем с нулевым, далее просматриваем массив уже с первого элемента, потом со второго и т.д. Существуют и другие алгоритмы сортировки... |
|
12.05.2008, 21:10 | #7 |
Регистрация: 09.05.2008
Сообщений: 5
|
Про способы сортировки я знаю, просто это был самый удобный в моей ситуации при написании проги. Этот(Вложение 3754) алгаритм я проверил и ошибок не нашел, вот мне и стало интересно, может я не змеил, или все же глюк...
|
12.05.2008, 21:44 | #8 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Алгоритм работоспособный (хотя есть что убрать), но такое сравнение вещественных чисел в данном случае неприменимо.
Можно так: Код:
для max = 8.1 и StringGrid1.Cells[st1,0] = '8.1' из-за ограниченной точности вещественных чисел. ------------------- кроме того, алгоритм не будет работать, если в массиве будут повторяющиеся числа. Последний раз редактировалось alexBlack; 12.05.2008 в 21:51. |
13.05.2008, 19:09 | #9 |
Регистрация: 09.05.2008
Сообщений: 5
|
Йа глюпий! Спасибо большое! Чет про ограниченную точность ВЧ я и позбиль.
Последний раз редактировалось EAAlien; 13.05.2008 в 20:12. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Числа в строку | DeDoK | Общие вопросы Delphi | 8 | 07.06.2008 00:08 |
вывод числа | sergei64_89 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 25.05.2008 21:35 |
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа | Woland-itn | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 23.03.2008 21:49 |
Про числа | Акашаев Нурлан | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 12.12.2007 07:18 |
подскажите какая процедура округляет дробные числа , а не откидывает дробную часть, к | ***СкаЙ*** | Помощь студентам | 5 | 13.06.2007 16:03 |