![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Demonix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 17.11.2006 Где: Россия Репутация: нет Всего: нет |
Вот такое задание мне дали:
Даны две дроби A/B и C/D (A,B,C,D-натуральные числа). Составить программу для умножения дроби на дробь. Результат должен быть несократимой дробью. Моих мозгов, с учётом не знания паскаля, хватило лишь на:
И получается, что ничего не получается... Если кто-то может подсказать, то пожалуйста - ПОДСКАЖИТЕ!!! Это сообщение отредактировал(а) Demonix - 19.11.2006, 15:52 |
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 3 Всего: 97 |
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 11 Всего: 360 |
Для домашних заданий, курсовых, существует "Центр Помощи"
Тема перенесена! |
|||
|
||||
| Demonix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 17.11.2006 Где: Россия Репутация: нет Всего: нет |
powerfox,
Работать то работает, но сокращает только один раз, а надо получить не сократимую дробь! Введём: А = 650 В = 24 С = 4 Д = 2 то получим: 2600/48 Но её ещё же можно сократить! А во вторых, мы сокращаем только на 2,3,5,7... А если надо будет на 137 сокращать, то как? Добавлено @ 16:53 sergejzr, Ага, Спасибо! |
|||
|
||||
| powerfox |
|
||||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 3 Всего: 97 |
Demonix:
Замени на [/code]
Всё пашет - перепутал в одном из циклов div и mod. Добавлено @ 17:11 Кстати, чтобы было всё идеально, добавь в конец программы проверку на равенство числителя и знаменателя + проверку на то, делятся ли числитель и знаменатель друг на друга. Это сообщение отредактировал(а) powerfox - 19.11.2006, 17:09 |
||||
|
|||||
| volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 34 Всего: 116 |
Может, через НОД проще?
Добавлено @ 17:46 Можешь вычислять НОД отдельно, и добавить проверку на равенство НОД-а нулю... |
|||
|
||||
| Demonix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 17.11.2006 Где: Россия Репутация: нет Всего: нет |
powerfox, это что-то вроде
volvo877, Программа работает, но только на небольших числах! К примеру: А=356 В=54 С=123 Д=51 то прога просто виснет! И ещё вопрос: Что это за "function GCD"? Как она работает? Это сообщение отредактировал(а) Demonix - 19.11.2006, 18:15 |
|||
|
||||
| powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 3 Всего: 97 |
Demonix, я спросил на irc у Войда: это (функция GCD) алгоритм Евклида, http://ru.wikipedia.org/wiki/Алгоритм_Евклида
Просто у тебя тип данных integer, замени его на word, чтобы увеличить размер числа. Отчасти.
Так меньше вычислений и суть яснее. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |