Форум программистов, компьютерный форум CyberForum.ru

Сложение обыкновенных дробей - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.86
KirArg
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 9
22.01.2011, 20:18     Сложение обыкновенных дробей #1
Две дроби a/b и c/d можно сложить следующим образом:
a/b + c/d = (a*d + b* c)/(b*d)
Например, 1/4 + 2/3 = (1*3 + 4*2)/4*3 = 11/12
Напишите программу, запрашивающую у пользователя значения двух дробей, а затем выводящую результат, также записанный в форме дроби.
Взаимодействие программы с пользователем может выглядеть, например, следующим образом:

Введите первую дробь: 1/2
Введите вторую дробь: 2/5
Сумма равна 9/10

Вы можете использовать тот факт, что операция извлечения >> может считывать более одного значения за раз.

Сам пытался написать,но вышло криво и ответ был в десятичной дроби...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 20:18     Сложение обыкновенных дробей
Посмотрите здесь:

Сложение дробей. C++
C++ Сложение дробей через структуру
Сложение дробей C++
Калькулятор для обыкновенных дробей C++
сложение дробей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
22.01.2011, 20:20     Сложение обыкновенных дробей #2
Как написать класс «несократимая дробь» (т.е. дроби 2/4, 4/8 и т.п. есть дробь 1/2)?
KirArg
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 9
22.01.2011, 20:27  [ТС]     Сложение обыкновенных дробей #3
sandye51 Мне нужно всего лишь написать простое консольное приложение для сложения обыкновенных дробей по той формуле что я написал, а в той теме что вы дали рассматриваются классы, которые я ещё не изучал..
Мигрень
 Аватар для Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
22.01.2011, 21:07     Сложение обыкновенных дробей #4
не знаю точно как нормально ввести такую дробь (с слешем), но можно выкрутиться и так
C++
1
2
3
4
5
6
7
8
9
10
int a,b,c,d,ch,zn;
char l;
cout << "Введите первую дробь: ";
cin >> a >> l >> b;
cout << "Введите вторую дробь: ";
cin >> c >> l >> d;
ch = (a*d) + (b* c);
zn = b*d;
 
cout << "\n\nСумма равна " << ch << "/" << zn;
no0ker
100 / 87 / 4
Регистрация: 17.12.2010
Сообщений: 416
22.01.2011, 21:19     Сложение обыкновенных дробей #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int _d(int a, int b){
    int tmp;
    tmp=a*b;
    while (a!=0 && b!=0){
        (a>b) ? a=a%b : b=b%a;
    }
    return tmp/(a+b);
}
 
int main(){
    
    int a_t, a_d, b_t, b_d, c_t, c_d;
    
    printf("enter 1 drob \n");
    scanf("%d/%d", &a_t, &a_d);
    
    printf("enter 2 drob \n");
    scanf("%d/%d", &b_t, &b_d);
    
    c_d = _d(a_d, b_d);
    
    c_t = ( a_t*(c_d / a_d) + b_t*(c_d / b_d));
    
    printf("result: \n%d/%d",c_t,c_d);
}
KirArg
0 / 0 / 0
Регистрация: 18.12.2010
Сообщений: 9
22.01.2011, 21:58  [ТС]     Сложение обыкновенных дробей #6
Спасибо, оба варианта работают.Мигрень Char l я так понял,позволяет ставить знак / ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2011, 22:01     Сложение обыкновенных дробей
Еще ссылки по теме:

ООП. нахождение суммы обыкновенных дробей с выделенной целой частью C++
C++ найти сумму обыкновенных дробей с выделенной целой частью
Выполнить перегрузку функции вычитания для обыкновенных и десятичных дробей C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Мигрень
 Аватар для Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
22.01.2011, 22:01     Сложение обыкновенных дробей #7
Да

Точнее просто в переменную типа char, в l записывает знак /
Yandex
Объявления
22.01.2011, 22:01     Сложение обыкновенных дробей
Ответ Создать тему
Опции темы

Текущее время: 05:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru