dmital
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
||||||
#1 | ||||||
Деление дробей. - C++11.08.2011, 11:20. Просмотров 3463. Ответов 13
Метки нет Все метки)
(
Задача: вывести в порядке возрастания все правильные несократимые дроби со знаменателем, не превосходящим n.
Сам код:
Проблема в том, что нужно как-то изменить процедуру деления, чтобы в результате деления двух целых чисел получалось дробное число, а не ноль, но я не знаю, как это сделать.
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
11.08.2011, 11:20 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Деление дробей. (C++):
13
Вывод дробей - C++ сложение дробей - C++ Умножение дробей - C++ Сокрашение дробей - C++
|
co6ak
Кошковед
514 / 502 / 30
Регистрация: 12.04.2010
Сообщений: 1,392
|
|
11.08.2011, 11:24 | #2 |
int ни когда не будет дробным.
можно результирующую переменную сделать, допустим, double.
0
|
dmital
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
||||||
11.08.2011, 11:35 [ТС] | #3 | |||||
Каким образом это сделать?
Я пробовал вот так, но не помогло, так как при делении все равно ноль получается.
0
|
Dani
|
|
11.08.2011, 11:42 | #4 |
Я бы делал так: создал структуру дроби с числителем и знаменателем. Далее написал функцию поиска НОДа, искал его для каждой дроби - если он не равен 1 тогда дробь сократимая и делаем с ней что надо, иначе дробь несократимая. Потом массив из дробей отсортировал так: приводил к общему знаменателю как НОК (заменатель1*знаменатель 2 / нод(знаменатель1,знаменатель2) и сравнивал.
2
|
Заблокирован
|
|
11.08.2011, 11:42 | #5 |
Задача предполагает обязательный поиск НОД числителя и знаменателя. Если НОД>1, дробь сократима.
1
|
dmital
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
11.08.2011, 11:51 [ТС] | #6 |
Спасибо, но остается проблема с делением. Если нужно найти значение a/b, где а и b - целые, то что нужно сделать, чтобы результат оказался нецелого типа?
0
|
Заблокирован
|
||||||
11.08.2011, 11:54 | #7 | |||||
![]()
3
|
dmital
1 / 1 / 0
Регистрация: 18.02.2011
Сообщений: 20
|
|
11.08.2011, 11:59 [ТС] | #9 |
IrineK, Dani, благодарю за советы, дальше, наверное, разберусь сам.
0
|
Заблокирован
|
|
11.08.2011, 12:02 | #10 |
Задача решена. "Дальше" - некуда ))
0
|
mac_alleb
7 / 7 / 0
Регистрация: 05.08.2011
Сообщений: 54
|
|
17.08.2011, 08:18 | #12 |
Уважаемый(ая) IrineK может быть с точки зрения математики задача и решена (хотя я и в этом
сомневаюсь ![]() деления чисел с критерием: если есть остаток - значит дробь несократима. Видимо основная задача - деление двух целых больших чисел. Подскажите, насколько большое n ![]() за пару-тройку дней ![]()
0
|
Puporev
Модератор
53461 / 41261 / 14416
Регистрация: 18.05.2008
Сообщений: 96,392
|
|
17.08.2011, 08:45 | #13 |
Это не так, по условию все дроби правильные, у всех есть только остаток и нет целой части.
0
|
mac_alleb
7 / 7 / 0
Регистрация: 05.08.2011
Сообщений: 54
|
|
19.08.2011, 22:18 | #14 |
Сделал бинарное сложение и вычитание, а также часть деления для 248-битных чисел. Наверное,
в будующем, для полноты картины, потребуется еще и умножение ![]() от 0 время ![]() ![]()
0
|
19.08.2011, 22:18 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
19.08.2011, 22:18 |
Привет! Вот еще темы с ответами:
14
Упрощение дробей - C++ Класс дробей - C++ Сложение дробей. - C++ Сравнение дробей - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |