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

Класс, набор методов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка массива и запись в файл http://www.cyberforum.ru/cpp-beginners/thread214034.html
Доброго времени суток! Задание: Файл содержит вещественные числа. Записать все положительные числа в порядке возрастания в файл positive.txt, а отрицательные числа в порядке убывания в файл...
C++ Одномерный массив Помогите решить лабораторную на тему одномерных массивов. Вот задание http://f04.spaces.ru/f/506463539434/1292680881/11756507/0/174ef35968ebe6c4bb4733ee672c5e61/Spp_zadachi.JPG http://www.cyberforum.ru/cpp-beginners/thread214026.html
Помогите пожалуйста с массивом C++
Помогите решить лабораторную на тему одномерных массивов. Вот задание http://f04.spaces.ru/f/506463539434/1292680881/11756507/0/174ef35968ebe6c4bb4733ee672c5e61/Spp_zadachi.JPG
C++ Компилятор
Привет Всем, если пишу не в той теме, сильно не бейте)) Вопрос такой, помню в школе запускали компилятор(Borland C, вроде так назывался) до загрузки ОС, не могли бы вы рассказать, как его так же...
C++ дерево поиска Т1 для дерева Т http://www.cyberforum.ru/cpp-beginners/thread214017.html
Здравствуйте! Пишу курсовой с вот таким задание: 1. Создать идеально сбалансированное дерево Т, распечатать его (в виде дерева), 2 .определить максимальную глубину дерева, 3.определить есть...
C++ Найти слова, которые начинаются на заданную букву дана задача. найти слова, которые начинаются на заданную букву. мне нужна функция которая находит эти слова подробнее

Показать сообщение отдельно
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
18.12.2010, 19:32
Цитата Сообщение от Shuh Посмотреть сообщение
преобразование дроби в символьная строка и сравнения на двух дробь
Ну и формулировочки.
Заменил сравнение соответствующими операторами.
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <iostream>
#include <string>
#include <sstream>
 
using namespace std;
 
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
 
class fraction
{
private:
        signed int _numerator;
        signed int _denominator;
public:
        fraction(void) : _numerator(0), _denominator(1) {}
        fraction(const int numerator, const int denominator)
                : _numerator(numerator), _denominator(denominator)
        { reduce(); }
        fraction& reduce()
        {
                int _gcd = gcd(_numerator, _denominator);
                _numerator /= _gcd;
                _denominator /= _gcd;
                if (_denominator<0)
                {
                        _denominator = - _denominator;
                        _numerator = - _numerator;
                }
        }
        int numerator() const { return _numerator; }
        int denominator() const { return _denominator; }
 
        void set(int numerator, int denominator)
        {
                _numerator = numerator;
                _denominator = denominator;
                reduce();
        }
 
        signed int compare(const fraction& other)
        {
                int _cmp_left = numerator()*other.denominator();
                int _cmp_right = other.numerator()*denominator();
                return _cmp_left-_cmp_right;
        }
 
        string toString() const
        {
                std::stringstream ss;
                ss << _numerator << "/" << _denominator;
                std::string str;
                ss >> str;
                return str;
        }
        operator string() const { return toString(); }
        operator double() const { return static_cast<double>(_numerator)/_denominator; }
 
 
        friend ostream& operator<<(ostream& o, const fraction& other)
        {
                o << other.toString();
                return o;
        }
 
        bool operator==(const fraction& other) { return compare(other)==0; }
        bool operator!=(const fraction& other) { return compare(other)!=0; }
        bool operator< (const fraction& other) { return compare(other)<0;  }
        bool operator> (const fraction& other) { return compare(other)>0;  }
        bool operator<=(const fraction& other) { return compare(other)<=0; }
        bool operator>=(const fraction& other) { return compare(other)>=0; }
 
        fraction operator-()
        {
                fraction result(-numerator(), denominator());
                return result;
        }
 
        fraction operator+(const fraction& other)
        {
                fraction result(numerator()*other.denominator()
                                +other.numerator()*denominator(),
                                denominator()*other.denominator());
                return result;
        }
        fraction operator-(const fraction& other)
        {
                fraction result(numerator()*other.denominator()
                                -other.numerator()*denominator(),
                                denominator()*other.denominator());
                return result;
        }
        fraction operator*(const fraction& other)
        {
                fraction result(numerator()*other.numerator(),
                                denominator()*other.denominator());
                return result;
        }
        fraction operator/(const fraction& other)
        {
                fraction result(numerator()*other.denominator(),
                                denominator()*other.numerator());
                return result;
        }
};
 
int main()
{
        fraction a(4, 6);
        fraction b(5, 10);
        fraction c;
        c = b-a;
 
        cout << "a=" << a << endl
        << "b=" << b << endl
        << "c=b-a=" << c << endl
        << "c>a is " << ((c>a)?"true":"false") << endl
        << "a>b is " << ((a>b)?"true":"false") << endl;
        cout << c.toString() << endl;
        cout << static_cast<double>(c) << endl;
        return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru