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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наибольшая сумма элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread957516.html
Сделав N шагов, пройтись по соседним ячейкам прямоугольной матрицы так, чтобы в итоге получилась наибольшая из всех возможных сумма. Стартуем в левом верхнем углу.
C++ Hello world C: Доброго времени суток! Собственно, начал изучать С++, пользуюсь VS2012 Почему этот код работает #include "stdafx.h" using namespace System; http://www.cyberforum.ru/cpp-beginners/thread957515.html
C++ Нарушение прав доступа при записи в itoa
Что неправильно с указателем? Почему-то itoa вылетает if(green && counter >= 0) { SetTextColor(hdc, RGB(0,255,0)); char* time = ""; itoa(counter, time, 10); TextOut(hdc,...
C++ borland c++ bgi
создаем класс point и определяем компонентные функции класса #ifndef POINTCPP #define POINTCPP 1 #include <graphics.h> class point { protected: int x,y; public: point (int xi=0, int yi=0);
C++ Проверка ввода данных в C++ http://www.cyberforum.ru/cpp-beginners/thread957508.html
printf(" Laboratornaya rabota №1 \n\n");/* название */ printf("Vvedite pervoe poloshitelnoe chislo \n");/* подсказка */ printf("x=");/* подсказка */ scanf("%f", &x);/* прочитать целое */...
C++ Отсортировать матрицу Написал алгоритм сортировки матрицы. БЫЛА: 7 8 5 3 4 2 1 6 9 Должна стать: 1 2 3 4 5 6 7 8 9 подробнее

Показать сообщение отдельно
Leshak
259 / 235 / 40
Регистрация: 10.12.2011
Сообщений: 513
19.09.2013, 02:51
Не идеальный вариант ( кое чего например не хватает, проверочку на нули сделать ... ). Но , увы, тоже спать хочется )
Ну вот на свежую голову допилите то, что надо. В целом идею думаю донес

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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru