Форум программистов, компьютерный форум 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 подробнее

Показать сообщение отдельно
joemcjoe
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 26
26.05.2014, 22:18     Перегрузка операторов сравнения
Вот этот класс. Помогите пожалуйста.
Кликните здесь для просмотра всего текста
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include <iostream>
    #include<iomanip>
    #include<cstring>
    using namespace std;
     
    class HugeInt
    {
            friend ostream &operator<<( ostream &, const HugeInt & );
            friend istream &operator>>( istream &, HugeInt & );
    private:
            int num[40];
    public:
            HugeInt( long =0 );
            HugeInt( const char * );
          
            HugeInt operator-=( HugeInt & );
    };
     
     
     
    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;
     
     
            return 0;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru