|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.03.2009, 20:14 | #1 |
Регистрация: 15.03.2009
Сообщений: 5
|
Как написать код для укорачивание дробей?
Мне задали задачку. Есть кнопка Button1 и две строки Edit1 и Edit2. Edit1 и Edit2 ето числитель и знаменатель. Нужно зделать так, что б при нажатии на кнопку Button1 дробь скорачивался. На пример есть 6/8, после нажатия на Button1 должно выйти 3/4. Моя проблема в том, что я не могу догнать что писать в коде!
|
15.03.2009, 20:30 | #2 |
Пользователь
Регистрация: 01.03.2009
Сообщений: 29
|
к сожалению нет под рукой дельфи, опишу алгоритм на словах:
берете наименьшее из чисел (в вашем примере это 6) в цикле downto от 6 до 1 делим первое число (6) и второе (8) на 6,5,4,3,2,... соответственно когда mod первого и mod второго будут равноы нулю - мы нашли наибольший общий делитель, на него и надо разделить первое и второе числа. |
15.03.2009, 20:43 | #3 |
Регистрация: 15.03.2009
Сообщений: 5
|
Так как я совсем не силен в етом, то мне бы сам код не помешал.
Все что мне нужно зделать, ето прописать ето вот здесь: http://www.bikeways.com.ua/assets/00...__________.bmp |
15.03.2009, 20:44 | #4 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 69
|
Ой, ой, зачем, eskander? Поиск наибольшего общего делителя легко и изящно ведется через алгоритм Эвклида.
Silence is of great value...
|
15.03.2009, 20:48 | #5 | |
Регистрация: 15.03.2009
Сообщений: 5
|
Цитата:
http://ru.wikipedia.org/wiki/Алгорит...BA.D0.B6.D0.B5 Но я не знаю что с ним делать! |
|
15.03.2009, 20:51 | #6 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 69
|
Код:
Silence is of great value...
|
15.03.2009, 22:30 | #7 |
Регистрация: 15.03.2009
Сообщений: 5
|
О! Спасиб, работает! Вот только еще один вопросик: при укорачивении числителя со знаком "+" , а знаменателя со знаком "-" - прога перестает пахать. Что ето?
|
15.03.2009, 23:38 | #8 |
Пользователь
Регистрация: 01.03.2009
Сообщений: 29
|
надо брать значения по модулю ( abs() )
|
16.03.2009, 00:22 | #9 |
Регистрация: 15.03.2009
Сообщений: 5
|
если можешь, то отредактируй пожалуйста код написаный выше!
|
16.03.2009, 15:34 | #10 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 69
|
Solve
Код:
Silence is of great value...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Никак не могу написать код для..... | PayBack | Общие вопросы C/C++ | 2 | 07.07.2008 13:55 |
как написать код на вывод оценки в тестирующей проге Флеонова | KaufMaNN | Помощь студентам | 0 | 31.05.2008 07:39 |
Как написать код для блокировки | Михаил Юрьевич | Общие вопросы Delphi | 6 | 19.01.2008 09:50 |
Help! Немогу написать код для посчета и вывода результатов. | Руслан | БД в Delphi | 2 | 22.12.2006 13:29 |