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

С использованием функций! Найти сумму дробей - C++

Восстановить пароль Регистрация
 
Shadow121
 Аватар для Shadow121
0 / 0 / 0
Регистрация: 22.05.2013
Сообщений: 42
19.09.2013, 00:23     С использованием функций! Найти сумму дробей #1
Даны числители и знаменатели двух дробей. Найти сумму этих дробей. Результат представить в виде несократимой дроби. (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.)
P.S. Помогите пожалуйста, а то у меня уже глаза слипаются ниче бошка не соображает.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ouroboros-SK
 Аватар для Ouroboros-SK
60 / 60 / 21
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
19.09.2013, 01:09     С использованием функций! Найти сумму дробей #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <clocale>
using namespace std;
int main()
{ 
setlocale (LC_CTYPE,"rus");
unsigned long long int a,b;
cout<<"введите а и б : ";
cin>>a>>b;
do
{
    if(a>b) a=a%b;
    else b=b%a;
}
while(a!=0&&b!=0);
    cout<<"наибольший общий делитель : "<<a+b<<endl;
_getch();
}
Код не мой. Нашел тут.
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
19.09.2013, 02:51     С использованием функций! Найти сумму дробей #3
Не идеальный вариант ( кое чего например не хватает, проверочку на нули сделать ... ). Но , увы, тоже спать хочется )
Ну вот на свежую голову допилите то, что надо. В целом идею думаю донес

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
 
int NOD ( int a , int b )
{
    while(b) b^=a^=b^=a%=b;
    return a;
}
void print (int a, int c, int NOK)
{
               // проверяем на то, можем ли сократить ...
    if (NOD(a+c,NOK) == 1 )
    {
        std::cout<<a<<"+"<<c<<"/"<<NOK<<" = "<<a+c<<"/"<<NOK<<"\n";
    }
    else
    {
        std::cout<<a<<"+"<<c<<"/"<<NOK<<" = "<<a+c<<"/"<<NOK<< " = "<< (a+c)/NOD(a+c,NOK) << "/" << NOK/NOD(a+c,NOK) << "\n";
    }
}
int main()
{
    int a , b, c, d;
    //первая дробь
    std::cout<<"Enter a: ";std::cin>>a;//числитель
    std::cout<<"Enter b: ";std::cin>>b;//знаменатель
    //вторая дробь
    std::cout<<"Enter c: ";std::cin>>c;//числитель
    std::cout<<"Enter d: ";std::cin>>d;//знаменатель
 
    // приводим к общему знаменателю
    
    int NOK;
    if ( b == d )
    {
        NOK = b;
        print(a,c,NOK);
    }
    else
    {
        NOK = b*d/NOD(b,d);
        // тут пытаемся включить мозг =)
        a = (a*NOK)/b;
        c = (c*NOK)/d;
        // вывод дроби
        print(a,c,NOK);
    }
    system("pause");
    return 0;
}
Croessmah
19.09.2013, 03:13     С использованием функций! Найти сумму дробей
  #4

Не по теме:

Цитата Сообщение от Shadow121 Посмотреть сообщение
Даны числители и знаменатели двух дробей. Найти сумму этих дробей. Результат представить в виде несократимой дроби. (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.)
P.S. Помогите пожалуйста, а то у меня уже глаза слипаются ниче бошка не соображает.
увы, наши глаза тоже слипаются, да они вообще не видят обычно мелких надписей. Вот Вы взяли и потратили зря весь запас размера шрифта

Yandex
Объявления
19.09.2013, 03:13     С использованием функций! Найти сумму дробей
Ответ Создать тему
Опции темы

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