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

Перегрузка операторов сравнения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить и записать алгоритм вычисления суммы процентов по вкладу с использованием рекурсии http://www.cyberforum.ru/cpp-beginners/thread1189227.html
построить и записать алгоритм вычисления суммы процентов по вкладу с использованием рекурсии. Исходные данные : сумма вклада, ставка(процентов в год), срок вклада(дней). добрые люди,спасайте.
C++ Работа со структурными типами данных Задание: В файле записан массив A(nxm) целых чисел. Структура файла следующая: сначала хранится n и m, а затем массив A. Определить в нем подмассивы, образованные двумя элементами: максимальным и минимальным (подмассив строится от левого верхнего угла до заданного элемента). Определить сумму элементов в каждой части массива. Используйте функции нахождения индексов минимального и максимального... http://www.cyberforum.ru/cpp-beginners/thread1189202.html
C++ Дайте ссылку, где можно разобраться с табуляцией?
привет. В учебнике только сказано, что 2 символа\t означают табуляцию. погуглил: аналогичная ситуация, в найденных источниках только пишут, что \t это горизонтальная табуляция, а дальше понимай как хочешь. Но при этом в учебнике иногда в листингах используется этот символ. Например: #include <iostream> int main() { using namespace std; unsigned short shortVar = 5; unsigned long ...
Подстроки в строках C++
Здравствуйте. Помогите пожалуйста понять условие задачи и привести пример, который будет выполнять условия. Найти максимум расстояний между двумя симметричными подстроками первой строки, которые во второй строке пересекаются не более чем в двух символах. Про симметричные подстроки вроде понятно (может ли подстрока содержать 1ин символ?), но как они пересекаются во второй строке не...
C++ Можно ли писать такой код,мне в дальнейшем надо будет наследовать x и y, а другие два елемента нет http://www.cyberforum.ru/cpp-beginners/thread1189189.html
сlass A { private: int a; public int x; A() { x=0; }
C++ Поцедура циклического кодирования Доброго дня! Помогите программно реализовать процедуру кодирования сообщения с использованием циклического кода, заданного порождающим полином g(x)=x^3+x+1 И декодирование... язык C, C++, C#, pascal, delphi подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
27.05.2014, 09:33     Перегрузка операторов сравнения
Пыщь:
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
    #include <iostream>
    #include<iomanip>
    #include<cstring>
    using namespace std;
 
    class HugeInt
    {
            friend ostream &operator<<( ostream &, const HugeInt & );
            friend istream &operator>>( istream &, HugeInt & );
    private:
            #define HugeSize 40
            int num[HugeSize];
    public:
            HugeInt( long =0 );
            HugeInt( const char * );
 
            HugeInt operator -= ( HugeInt & );
            bool    operator >= ( HugeInt& obj ) const;
    };
 
    bool HugeInt:: operator>=( HugeInt& obj ) const
    {
        for( unsigned count=0; count<HugeSize; count++ )
            if( this->num[count] < obj.num[count] )
                return false;
        return true;
    }
 
    HugeInt::HugeInt( long integer )
    {
            for ( int i=0;i<40;i++ )
                    num[i]=0;
            for ( int j=39; integer!=0 && j>=0; j-- )
            {
                    num[j]=integer%10;
                    integer/=10;
            }
    }
 
    HugeInt::HugeInt( const char *sentence )
    {
            for ( int i=0;i<40;i++ )
                    num[i]=0;
            int length=strlen( sentence );
            for ( int j=40-length,k=0;j<40;j++,k++ )
            {
                    if ( isdigit(sentence[k]) )
                            num[j]=sentence[k]-'0';
            }
    }
 
    HugeInt HugeInt::operator-=(  HugeInt &obj )  
    {
            HugeInt temp=*this;
            HugeInt resulttemp;
            int upMinus=0;
            for( int i=39;i>=0;i-- )
            {
                    resulttemp.num[i]= num[i] - obj.num[i] + upMinus;
                    if( resulttemp.num[i]<0 )
                    {
                            resulttemp.num[i]%=10;
                            temp.num[i]=-1*resulttemp.num[i];
                            upMinus=-1;
                    }
                    else
                    {
                            temp.num[i]=resulttemp.num[i];
                            upMinus=0;
                    }
            }
            *this=temp;
            return *this;
    }
 
    ostream &operator<<( ostream &output, const HugeInt &obj )
    {      
            int i=0;
            for (  i=0;(obj.num[i]==0)&&(i<40);i++ )
                    ;
            if ( i==40 )
                    output<<0;
            else
            {
                    for (;i<40;i++)
                            output<<obj.num[i];
            }
            return output;
    }
 
    istream &operator>> ( istream & input, HugeInt & obj )
    {
            char temp[40];
            input>>temp;
            obj=temp;
            return input;
    }
 
    int main()
    {
 
            HugeInt a,b;
            cin >> a;
            cin >> b;
 
            if (a >= b)
                    cout << "Greater" << endl;
            else
                    cout << "Less" << endl;
 
            /*if (a < b)
                    cout << "Less" << endl;
            else
                    cout << "Greater" << endl;*/
            a-=b;
            cout << a << endl;
     
            cin.ignore(2);
            return 0;
    }
 
Текущее время: 19:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru