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

сделать сравнения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как передать функции указатель на функцию в качестве аргумента? http://www.cyberforum.ru/cpp-beginners/thread1022561.html
как передать функции указатель на функцию в качестве аргумента?
C++ Вставить число -1 перед каждым числом, в котором только нечетные цифры помогите пожалуйста написать код к задаче....Вставить число -1 перед каждым числом, в котором только нечетные цифры. http://www.cyberforum.ru/cpp-beginners/thread1022552.html
Небольшая функция, удаляющая однаковые букви в слове C++
как написать функцию чтобы удаляло однаковые букви в слове? cout << "\n Введите ключовое слово : "; gets_s(kluch);// puts(kluch); int o=strlen(kluch); for(int i=0;i<o;i++) { alfEng=kluch; cout<< alfEng<<" "; }
Задача по ряду Тейлора C++
я все время работал в Basic и понятия не имею как пользоваться командами C++. прошу вас, помогите! Формат входных данных. Ввод: начало и конец интервала, шаг и точность Вывод: таблица, каждая строка которой есть комбинация из четырех чисел – значение аргумента, значение функции, количество просуммированных членов ряда и расчет функции стандартными средствами с++ Пример входных данных: 0...
C++ Запись кириллицы в массив http://www.cyberforum.ru/cpp-beginners/thread1022534.html
Здравствуйте, форумчани. Столкнулся с проблемой. Нужно в структуру записать имена студентов, группу и 5 оценок. Но при вводе имени и группы кириллицей , записываеться абракадабра. Подскажите что не так. П.С. до функции сортировки я еще не дошел. #include <iomanip> #include <conio.h> #include <stdio.h> #include <tchar.h> #include <iostream> #include <string> using namespace std;
C++ Параметры для запуска консольного приложения Доброго времени суток!) У некоторых исполняемых файлов вроде того же shutdown.exe есть параметры для запуска вроде "/s","/r","/t". Я хочу сделать это в своем небольшом проекте (он является небольшим дополнением к моему основному) да и я хочу сделать именно так !). Ну так вот я хотел бы сделать в своем приложении подобные параметры для запуска) exec("pr.exe","/crypt"); Буду очень благодарен... подробнее

Показать сообщение отдельно
Kristi-na
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 57

сделать сравнения - C++

29.11.2013, 00:37. Просмотров 246. Ответов 2
Метки (Все метки)

как сделать сравнение? Не могу понять. Пожалуйста, помогите.
Задание:
Рациональная (несократимая) дробь представляется парой целых чисел (а, b), где а — числитель, b — знаменатель. Создать класс Rational для работы с рациональными дробями. Обязательно должны быть реализованы операции:
сложения add, (а, b) + (с, d) = (ad + bc, bd)
вычитания sub, (a, b) - (с, d) = (ad - bc, bd)
сравнения <, >, =
Вот программа:
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#include "stdafx.h"
#include<iostream> 
#include<conio.h> 
#include <math.h>
 
using namespace std;
 
class rational {
 
private:
 
int chisl;
 
int znam;
 
public:
 
friend ostream &operator << (ostream& o,rational x);
 
rational (int c=1, int b=1) {chisl=c; znam=b;}
 
rational operator+ (rational &x);
 
rational operator- (rational &x);
 
 
int operator< (rational &x);
 
int operator== (rational &x);
 
int operator> (rational &x);
 
};
 
 
//перегруженный оператор сложения рациональных дробей
 
rational rational::operator+(rational &x)
 
{ int delitel,crav,i,j; rational y;
 
y.chisl=chisl*x.znam+znam*x.chisl; y.znam=znam*x.znam;
 
if (y.chisl!=0)
 
{ j=0;int f=0; if (y.chisl<0) {f=1;y.chisl=abs(y.chisl);}
 
if ((y.chisl%y.znam)==0) j=1;
 
else
 
{ if ((abs(y.chisl))>(abs(y.znam))) crav=y.znam ;else crav=y.chisl;
 
delitel=1;
 
for(i=2;i<=crav;i++)
 
{ if ( (((abs(y.chisl))%i)==0)&&(((abs(y.znam))%i)==0) )
 
{ if (i>delitel) delitel=i;} }
 
if (delitel>=2) {y.znam=y.znam/delitel;y.chisl=y.chisl/delitel;
 
if (f==1) y.chisl*=-1;
 
}
 
} }
 
return y; }
 
 
// перегруженный оператор вычитания рациональных дробей
 
rational rational::operator-(rational &x)
 
{ rational y; int delitel,crav,i,j;
 
y.chisl=chisl*x.znam-znam*x.chisl;y.znam=znam*x.znam;
 
if (y.chisl!=0)
 
{ j=0;int f=0; if (y.chisl<0) {f=1;y.chisl=abs(y.chisl);}
 
if ((y.chisl%y.znam)==0) j=1;
else
 
{ if ((abs(y.chisl))>(abs(y.znam))) crav=y.znam ;else crav=y.chisl;
 
delitel=1;
 
for(i=2;i<=crav;i++)
 
{ if ( (((abs(y.chisl))%i)==0)&&(((abs(y.znam))%i)==0) )
 
{ if (i>delitel) delitel=i;} }
 
if (delitel>=2) {y.znam=y.znam/delitel;y.chisl=y.chisl/delitel;
 
if (f==1) y.chisl*=-1;
 
}
 
} }
 
return y;}
 
 
 
// перегруженный оператор вывода рациональных дробей
 
ostream &operator << (ostream& o,rational x)
 
{
 
if (x.chisl!=0) { if ((x.chisl%x.znam)==0) o<<x.chisl/x.znam;
 
else o<<x.chisl<<'/'<<x.znam; }
 
else o<<x.chisl;
return o;
 
}
 
int main()
 
{ int a,b;
 
for(;;)
 
{
 
cout<<"vvedite chislitel' u 3namenatel' pervou drobi: ";
 
cin>> a>>b;
 
if( b==0) cout<<"vvedite drob' s ne nylevim znamenatelem\n";
 
else break;
 
}
 
rational D1(a,b);
 
for(;;)
 
{
 
cout<<"vvedite chislitel' u 3namenatel' vtoroi drobi: ";
 
cin>> a>>b;
 
if( b==0) cout<<"vvedite drob' s ne nylevim znamenatelem\n";
 
else break;
 
}
 
rational D2 (a,b);
 
rational D3(a,b);
 
 
 
cout<<"slo}I{enie drobei:\n";
 
cout<<D1; cout<<" + "; cout<<D2; ; cout<<"= ";
 
D3=D2+D1;
 
cout<<D3; cout<<"\n";
 
cout<<"vbI4itanie drobei:\n";
 
cout<<D1; cout<<" - "; cout<<D2; cout<<"= ";
 
D3=D1-D2;
 
cout<<D3; cout<<"\n";
 
_getch();
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru