![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Нужно создать класс который будет работать с правильными дробями. В классе нужно перегрузить такие операции: -, +=, >.
Набросал кое-что (пока перегружаю -, вопросы в комментариях ) :
Помогите кто чем может. Это сообщение отредактировал(а) Recev - 6.12.2010, 18:52 |
|||
|
||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Ап!
Вод написал еще немного:
Поправите что не правильно. Помогите перезагрузить += |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
А что непонятно, изложите лучше
![]() Дробь можно хранить в 2х переменных - числитель знаменатель - они не должны иметь общего делителя кроме еденицы Каждый раз производя операцию с дробью, сокращать ее. Обработку строки можно и классу поручить Не вижу смысл хранить целую часть - лучше ее при выводе делать правильной. Добавлено через 5 минут и 54 секунды
|
|||
|
||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Когда пишу pdrob drob4 += drob1; То компилятор выдает ошибку. Improper use of typedef 'pdrob' Full parser context pdrob.cpp(107): parsing: void main() |
|||
|
||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
Тебе уже написали как выглядит оператор+=
Да и всё-таки удобней было бы использовать только числитель и знаменател, как посоветовал sQu1rr. |
|||
|
||||
Recev |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
znam += dr4.znam; Знаменательные не додаются. А как мне сделать что-бы в программе искало НОД и НОК? А то у меня вычисление другим методом (общее знаменательное = знаменательное1 * знаменательное2, числительное1 = числительное1 * знаменательное2, числительное2 = числительное2 * знаменательное1). |
||||
|
|||||
Crafty |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 319 Регистрация: 3.11.2008 Репутация: 12 Всего: 14 |
Вообще при сложении дробных чисел нужно привести дроби к общему знаменателю, и уже потом складывать только числители.
Находишь НОД - Алгоритм Евклида А НОК можешь найти черед НОД НОК = |a * b| / НОД Это сообщение отредактировал(а) Crafty - 6.12.2010, 22:42 |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
||||
|
||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
Сейчас программа почему то работает не правильно.
Попробуйте ввести к примеру 3 и 4. Сами увидите результат, почему она так не нормально работает?
|
|||
|
||||
Recev |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 18.10.2010 Репутация: нет Всего: нет |
А все, я понял. При сравнении тоже нужно сводить к общему знаменательному. ![]() |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |