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

Написать функции вычисления сложения, вычитания, умножения и деления дробей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ [С++] Задан массив размерностью NхM. Напишите функции... http://www.cyberforum.ru/cpp-beginners/thread515130.html
«Двумерный массив» Задан массив размерностью nхm. Напишите функции, которые выполняют следующие задачи: a. Вывод на экран двумерного массива в виде таблицы b. Вывод на экран элементов главной диагонали c. Вывод на экран элементов, расположенных по периметру, начиная с первого элемента и следуя вправо по первой строке. d. Вычисление максимального элемента из заданного...
C++ поиск минимальной строки помогите пожалуйста решить задачу... Дан текстовый файл. Вывести на экран самую короткую строку текстового файла. заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread515114.html
Структуры C++
Здравствуйте, нужна помощь в написании программы: Определить структуру, написать набор функций для работы с массивом структур в самом описании структуры. # struct name { string NameFIO; int Age; void Print () { cout>>NameFIO; } }; Функции:
C++ производный класс 3D массив
Помогите пожалуйста. На основе класса «Матрица» создать производный класс «3D массив». Класс содержит массив, каждый элемент которого является матрицей. В классе должны быть переопределены функции ввода и вывода значений массива. В классе должна быть определена функция поиска суммы элементов массива. Основа программы //Файл main.cpp. Драйвер класса Matrix. #include<iostream.h>...
C++ Определить количество работников, у которых стаж работы больше, чем ввел пользователь. http://www.cyberforum.ru/cpp-beginners/thread515058.html
Создать программу которая обрабатывает инфомацию о работниках: Имя,фамилия должность дата рождения стаж возраст Выполнить надо 3 пункта: a:Определить количество работников, у которых стаж работы больше, чем ввел пользователь. b:Печать данных о сотрудниках, упорядоченные по должности
C++ Перевод с С++ на Pascal Спичечная модель Профессор Самоделкин решил изготовить объемную модель кубиков из спичек, используя спички для рёбер кубиков. Длина ребра каждого кубика равна одной спичке. Для построения модели трех кубиков он использовал 28 спичек. Какое наименьшее количество спичек нужно Самоделкину для построения модели из N кубиков? Все числа в задаче не превышают 2·109. Технические... подробнее

Показать сообщение отдельно
miriganua
129 / 100 / 4
Регистрация: 05.02.2012
Сообщений: 241
10.03.2012, 14:15     Написать функции вычисления сложения, вычитания, умножения и деления дробей
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
 
using namespace std;
 
struct Fraction
{
    int num;
    int den;
};
 
void reduce(Fraction& a)
{
    int copyOfNum = a.num;
    int copyOfDen = a.den;
    while (copyOfNum != copyOfDen)
    {
        copyOfNum < copyOfDen ? copyOfDen -= copyOfNum : copyOfNum -= copyOfDen;
    }
    a.num /= copyOfNum;
    a.den /= copyOfDen;
}
 
Fraction sum(Fraction a, Fraction b)
{
    Fraction c;
    c.num = a.num * b.den + b.num * a.den;
    c.den = a.den * b.den;
    reduce(c);
    return c;
}
 
Fraction substraction(Fraction a, Fraction b)
{
    Fraction c;
    c.num = a.num * b.den - b.num * a.den;
    c.den = a.den * b.den;
    reduce(c);
    return c;
}
 
Fraction multiplication(Fraction a, Fraction b)
{
    Fraction c;
    c.num = a.num * b.num;
    c.den = a.den * b.den;
    reduce(c);
    return c;
}
 
Fraction division(Fraction a, Fraction b)
{
    Fraction c;
    c.num = a.num * b.den;
    c.den = a.den * b.num;
    reduce(c);
    return c;
}
 
int main()
{
    Fraction a;
    cout << ">";
    cin >> a.num;
    cout << ">";
    cin >> a.den;
    char action;
    cout << ">";
    cin >> action;
    Fraction b;
    cout << ">";
    cin >> b.num;
    cout << ">";
    cin >> b.den;
    Fraction c;
    
    cout << '\n';
    switch (action)
    {
    case '+':   
        c = sum(a, b);
        cout << c.num << "/" << c.den << '\n';
        break;
    case '-':
        c = substraction(a, b);
        cout << c.num << "/" << c.den << '\n';
        break;
    case '*':
        c = multiplication(a, b);
        cout << c.num << "/" << c.den << '\n';
        break;
    case '/':
        c = division(a, b);
        cout << c.num << "/" << c.den << '\n';
        break;
    }
    return 0;
}
Будут вопросы - пиши.
 
Текущее время: 10:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru