С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Дроби - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа вычисления обратной матрицы N-го порядка http://www.cyberforum.ru/cpp-beginners/thread353914.html
Составить программу вычисления обратной матрицы методом Гаусса для трехдиагональной матрицы. Порядок и коэффициенты матрицы (главная и соседние с ней диа-гонали) вводятся из файла. В файл результатов...
C++ Функции и что делают У меня есть такая полностью написанная программа по Файловому менеджеру .нужно определить что делает каждая функция... помогите мне.пожалуйста.я мало что... http://www.cyberforum.ru/cpp-beginners/thread353902.html
Тема дипломной C++
Никак не могу придумать тему дипломной работы. А Вы на какие темы дипломы писали?
intellij Idea 10.5.2 C++
Не могу понять...какого черта тут нужно делать...ни одну из папок не хочет добавлять http://imagepost.ru/images/q/yb/qybyszmudbenpzmpzyexytunmcwvia.png
C++ Сортировка строк STL http://www.cyberforum.ru/cpp-beginners/thread353886.html
Подскажите пожалуйста как работает эта программа #include <iostream> #include <string> #include <algorithm> using namespace std; char*...
C++ Не рабочий merge() Подскажите пожалуйста почему данная программа напрочь отказывается работать ? #include<iostream> #include<algorithm> using namespace std; int art={5,2,3,6,8}; int bar={10,20,30,40,50}; int... подробнее

Показать сообщение отдельно
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
20.09.2011, 13:07
lavengerl, присоединяюсь к Nameless One.

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
#include <iostream>
 
class Rational
{
private:
    int top,
        bottom;
 
public:
    // конструкторы
    Rational( int _top = 1, int _bottom = 1 ) : top(_top), bottom(_bottom) { };
    Rational( const Rational& r ) : top( r.top ), bottom( r.bottom ) { };
 
    Rational & operator+= ( const Rational &r );
 
    // ввод - вывод
    friend std::ostream & operator<<( std::ostream &os, const Rational &r );
    friend std::istream & operator>>( std::istream &is, Rational &r );
};
 
Rational & Rational::operator+= ( const Rational &r )
{
    // согласно условию
    top = top * r.bottom + bottom * r.top;
    bottom *= r.bottom;
 
    return *this;
}
 
//----------------------------------------------------------------------------
 
// использует метод operator+= - зачем переписывать по 20 раз?
Rational operator+ ( const Rational &r1, const Rational &r2 )
{
    Rational r = r1;
    r += r2;
    return r;
}
 
// вывод
std::ostream & operator<<( std::ostream &os, const Rational &r )
{
    os << r.top << '/' << r.bottom;
    return os;
}
 
// ввод
// формат:
// 1/2  1  / 4  12/ 258
std::istream & operator>>( std::istream &is, Rational &r )
{
    int top;
    is >> top;
 
    char ch;
    is >> ch;
 
    if( ch != '/' )
    {
       is.setstate( std::ios::failbit );
       return is;
    }
 
    is >> r.bottom;
    r.top = top;
 
    return is;
}
 
//----------------------------------------------------------------------------
 
int main()
{
    Rational a( 1, 2 );
    Rational b( 2, 2 );
 
    std::cout << a << ' ' << a + b << ' ' << b + a << '\n';
    std::cout << "a: ";
    std::cin >> a;
    std::cout << a;
 
    return 0;
}
Остальные операции сам, по аналогии.

Добавлено через 10 минут
Да, и ещё там в задании говорится о функции сокращения, которая вызывается при всех арифметических операциях. Её не имеет смысла делать public.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.