Skip to content

Commit 134e044

Browse files
committed
code reformatted & Lab ready
1 parent f2df107 commit 134e044

File tree

3 files changed

+276
-340
lines changed

3 files changed

+276
-340
lines changed

Variants/Lab_13/var_6/main.cpp

Lines changed: 165 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -7,203 +7,197 @@
77
// перегруженные операторы ввода и вывода
88
// конструктор копий
99
// оператор присваивания
10-
1110
// указанные в задании перегруженные операции
1211
// ++ -- -n == != = + += - -= * *= / /= > < >= <=
1312

14-
// НЕ ДОП:
15-
//* - поправить вывод
16-
//* - !!!учесть отрицательные числа
17-
// ДОП:
13+
// Исправить:
14+
//* - поправить вывод
15+
//* - !!!учесть отрицательные числа
16+
17+
// Доп:
1818
//* - добавить целую часть (в сам класс)
1919
//* - операции, соотв., с учетом целой части дробей
20-
//* - сортировка Шелла массива дробей
20+
//* - сортировка Шелла массива дробей
2121

2222
#include "rational.h"
2323
using namespace std;
2424

2525
// тестирование функций класса
26-
int main()
27-
{
26+
int main() {
2827
int test_n = 0;
2928
cout << "Run test #";
3029
cin >> test_n;
3130

32-
switch (test_n)
33-
{
34-
case 0: // test
35-
{
36-
Rational r1(-11205729, 14420), r2(3349, 14420), r3(11207689, 14420), r4(5439, 103);
37-
cout << r1 << " = " << r1.normalize() << " = " << r1.normalize() << " = " << r1.denormalize() << endl;
38-
cout << r2 << " = " << r2.normalize() << " = " << r2.normalize() << " = " << r2.denormalize() << endl;
39-
cout << r3 << " = " << r3.normalize() << " = " << r3.normalize() << " = " << r3.denormalize() << endl;
40-
cout << r4 << " = " << r4.normalize() << " = " << r4.normalize() << " = " << r4.denormalize() << endl;
41-
break;
42-
}
43-
case 1:
44-
{
45-
// тут тестируются:
46-
// конструкторы, геттеры, сеттеры,
47-
// вывод, конструктор копий, присваивания
48-
49-
Rational lol(1, 2), kek = {2, 3};
50-
cout << "Rational 1 / 2: " << lol << endl;
51-
cout << "Rational 2 / 3: " << kek << endl;
52-
53-
Rational temp(618);
54-
cout << "Int 618 to Rational: " << temp << endl;
55-
56-
Rational test(42, 618);
57-
cout << "42 / 618 = " << test << " -> ";
58-
59-
test.set(618, 42);
60-
cout << test << " -> ";
61-
cout << test.numerator() << " / "
62-
<< test.denominator() << " -> ";
63-
64-
test.numerator() = 6;
65-
test.denominator() = 18;
66-
cout << test << endl;
67-
68-
Rational test_copy(test);
69-
cout << test << " = " << test.simplify()
70-
<< " => copy: " << test_copy << endl;
71-
72-
lol = kek = temp = test;
73-
cout << lol << ", "
74-
<< kek << ", "
75-
<< temp << endl;
76-
break;
77-
}
31+
switch (test_n) {
32+
case 0: {
33+
Rational r1(-11205729, 14420), r2(3349, 14420), r3(11207689, 14420), r4(5439, 103);
34+
cout << r1 << " = " << r1.normalize() << " = " << r1.normalize() << " = " << r1.denormalize() << endl;
35+
cout << r2 << " = " << r2.normalize() << " = " << r2.normalize() << " = " << r2.denormalize() << endl;
36+
cout << r3 << " = " << r3.normalize() << " = " << r3.normalize() << " = " << r3.denormalize() << endl;
37+
cout << r4 << " = " << r4.normalize() << " = " << r4.normalize() << " = " << r4.denormalize() << endl;
38+
break;
39+
}
40+
41+
case 1: {
42+
// тут тестируются:
43+
// конструкторы, геттеры, сеттеры,
44+
// вывод, конструктор копий, присваивания
45+
46+
Rational lol(1, 2), kek = {2, 3};
47+
cout << "Rational 1 / 2: " << lol << endl;
48+
cout << "Rational 2 / 3: " << kek << endl;
49+
50+
Rational temp(618);
51+
cout << "Int 618 to Rational: " << temp << endl;
52+
53+
Rational test(42, 618);
54+
cout << "42 / 618 = " << test << " -> ";
55+
56+
test.set(618, 42);
57+
cout << test << " -> ";
58+
cout << test.numerator() << " / "
59+
<< test.denominator() << " -> ";
60+
61+
test.numerator() = 6;
62+
test.denominator() = 18;
63+
cout << test << endl;
64+
65+
Rational test_copy(test);
66+
cout << test << " = " << test.simplify()
67+
<< " => copy: " << test_copy << endl;
68+
69+
lol = kek = temp = test;
70+
cout << lol << ", "
71+
<< kek << ", "
72+
<< temp << endl;
73+
break;
74+
}
7875

79-
case 2:
80-
{
81-
// тут тестируются:
82-
// ++ -- -n + += - -= * *= / /=
83-
84-
Rational lol(42, 618);
85-
Rational kek(69, 420);
86-
long long abc = 777;
87-
88-
cout << "++" << lol << " = " << ++lol << "\n";
89-
cout << "--" << lol << " = " << --lol << "\n";
90-
cout << "-" << lol << " = " << -lol << "\n";
91-
92-
cout << lol << " + " << kek << " = " << lol + kek << endl;
93-
cout << lol << " + " << abc << " = " << lol + abc << endl;
94-
cout << abc << " + " << lol << " = " << abc + lol << endl;
95-
96-
cout << lol << " - " << kek << " = " << lol - kek << endl;
97-
cout << lol << " - " << abc << " = " << lol - abc << endl;
98-
cout << abc << " - " << lol << " = " << abc - lol << endl;
99-
100-
cout << lol << " * " << kek << " = " << (lol * kek).normalize() << endl;
101-
cout << lol << " * " << abc << " = " << (lol * abc).normalize() << endl;
102-
cout << abc << " * " << lol << " = " << (abc * lol).normalize() << endl;
103-
104-
cout << lol << " / " << kek << " = " << lol / kek << endl;
105-
cout << lol << " / " << abc << " = " << lol / abc << endl;
106-
cout << abc << " / " << lol << " = " << abc / lol << endl;
107-
108-
lol = {42, 618};
109-
kek = {69, 420};
110-
abc = 777;
111-
cout << lol << " += " << kek << " -> " << (lol += kek) << endl;
112-
cout << lol << " += " << abc << " -> " << (lol += abc) << endl;
113-
114-
lol = {42, 618};
115-
kek = {69, 420};
116-
abc = 777;
117-
cout << lol << " -= " << kek << " -> " << (lol -= kek) << endl;
118-
cout << lol << " -= " << abc << " -> " << (lol -= abc) << endl;
119-
120-
lol = {42, 618};
121-
kek = {69, 420};
122-
abc = 777;
123-
cout << lol << " *= " << kek << " -> " << (lol *= kek) << endl;
124-
cout << lol << " *= " << abc << " -> " << (lol *= abc) << endl;
125-
126-
lol = {42, 618};
127-
kek = {69, 420};
128-
abc = 777;
129-
cout << lol << " /= " << kek << " -> " << (lol /= kek) << endl;
130-
cout << lol << " /= " << abc << " -> " << (lol /= abc) << endl;
131-
132-
break;
133-
}
76+
case 2: {
77+
// тут тестируются:
78+
// ++ -- -n + += - -= * *= / /=
79+
80+
Rational lol(42, 618);
81+
Rational kek(69, 420);
82+
long long abc = 777;
83+
84+
cout << "++" << lol << " = " << ++lol << "\n";
85+
cout << "--" << lol << " = " << --lol << "\n";
86+
cout << "-" << lol << " = " << -lol << "\n";
87+
88+
cout << lol << " + " << kek << " = " << lol + kek << endl;
89+
cout << lol << " + " << abc << " = " << lol + abc << endl;
90+
cout << abc << " + " << lol << " = " << abc + lol << endl;
91+
92+
cout << lol << " - " << kek << " = " << lol - kek << endl;
93+
cout << lol << " - " << abc << " = " << lol - abc << endl;
94+
cout << abc << " - " << lol << " = " << abc - lol << endl;
95+
96+
cout << lol << " * " << kek << " = " << (lol * kek).normalize() << endl;
97+
cout << lol << " * " << abc << " = " << (lol * abc).normalize() << endl;
98+
cout << abc << " * " << lol << " = " << (abc * lol).normalize() << endl;
99+
100+
cout << lol << " / " << kek << " = " << lol / kek << endl;
101+
cout << lol << " / " << abc << " = " << lol / abc << endl;
102+
cout << abc << " / " << lol << " = " << abc / lol << endl;
103+
104+
lol = {42, 618};
105+
kek = {69, 420};
106+
abc = 777;
107+
cout << lol << " += " << kek << " -> " << (lol += kek) << endl;
108+
cout << lol << " += " << abc << " -> " << (lol += abc) << endl;
109+
110+
lol = {42, 618};
111+
kek = {69, 420};
112+
abc = 777;
113+
cout << lol << " -= " << kek << " -> " << (lol -= kek) << endl;
114+
cout << lol << " -= " << abc << " -> " << (lol -= abc) << endl;
115+
116+
lol = {42, 618};
117+
kek = {69, 420};
118+
abc = 777;
119+
cout << lol << " *= " << kek << " -> " << (lol *= kek) << endl;
120+
cout << lol << " *= " << abc << " -> " << (lol *= abc) << endl;
121+
122+
lol = {42, 618};
123+
kek = {69, 420};
124+
abc = 777;
125+
cout << lol << " /= " << kek << " -> " << (lol /= kek) << endl;
126+
cout << lol << " /= " << abc << " -> " << (lol /= abc) << endl;
127+
128+
break;
129+
}
134130

135-
case 3:
136-
{
137-
// тут тестируются:
138-
// == != > >= < <=
131+
case 3: {
132+
// тут тестируются:
133+
// == != > >= < <=
139134

140-
Rational testA(1, 2);
141-
Rational testB(1, 2);
135+
Rational testA(1, 2);
136+
Rational testB(1, 2);
142137

143-
if (testA == testB)
144-
cout << "testA == testB" << endl;
145-
if (testA == testA)
146-
cout << "testA == testA" << endl;
138+
if (testA == testB)
139+
cout << "testA == testB" << endl;
140+
if (testA == testA)
141+
cout << "testA == testA" << endl;
147142

148-
Rational testNew(testA);
149-
if (testA == testNew)
150-
cout << "testA == testNew" << endl;
143+
Rational testNew(testA);
144+
if (testA == testNew)
145+
cout << "testA == testNew" << endl;
151146

152-
cout << ++testNew << ", " << testNew << endl;
153-
if (testA == testNew)
154-
cout << "testA == testNew" << endl;
147+
cout << ++testNew << ", " << testNew << endl;
148+
if (testA == testNew)
149+
cout << "testA == testNew" << endl;
155150

156-
cout << testA++ << ", " << testA << endl;
157-
if (testA == testNew)
158-
cout << "testA == testNew" << endl;
151+
cout << testA++ << ", " << testA << endl;
152+
if (testA == testNew)
153+
cout << "testA == testNew" << endl;
159154

160-
Rational temp(10, -20);
161-
cout << temp << ", " << temp.simplify() << ", " << temp << endl;
155+
Rational temp(10, -20);
156+
cout << temp << ", " << temp.simplify() << ", " << temp << endl;
162157

163-
Rational lol = {42, 618}, kek = {69, 420};
164-
cout << lol << " > " << kek << (lol > kek ? " = True" : " = False") << endl;
165-
cout << lol << " >= " << kek << (lol >= kek ? " = True" : " = False") << endl;
166-
cout << lol << " < " << kek << (lol < kek ? " = True" : " = False") << endl;
167-
cout << lol << " <= " << kek << (lol <= kek ? " = True" : " = False") << endl;
168-
break;
169-
}
158+
Rational lol = {42, 618}, kek = {69, 420};
159+
cout << lol << " > " << kek << (lol > kek ? " = True" : " = False") << endl;
160+
cout << lol << " >= " << kek << (lol >= kek ? " = True" : " = False") << endl;
161+
cout << lol << " < " << kek << (lol < kek ? " = True" : " = False") << endl;
162+
cout << lol << " <= " << kek << (lol <= kek ? " = True" : " = False") << endl;
163+
break;
164+
}
170165

171-
case 4:
172-
{
173-
cout << "\n//-- Summ Test --//\n\n";
174-
Rational rr;
175-
for (int i = 1; i < 30; i++)
176-
{
177-
Rational temp(1, i);
178-
rr = rr + temp;
179-
cout << rr << " = " << rr.get_value() << endl;
166+
case 4: {
167+
cout << "\n//-- Summ Test --//\n\n";
168+
Rational rr;
169+
for (int i = 1; i < 30; i++) {
170+
Rational temp(1, i);
171+
rr = rr + temp;
172+
cout << rr << " = " << rr.get_value() << endl;
173+
}
174+
break;
180175
}
181-
break;
182-
}
183-
case 5: // shell sort
184-
{
185-
int count = 9;
186-
Rational *arr[count] = {
187-
new Rational(1, 2),
188-
new Rational(12, 21),
189-
new Rational(13, 22),
190-
new Rational(14, 23),
191-
new Rational(15, 24),
192-
new Rational(0, 1),
176+
177+
case 5: { // shell sort
178+
int count = 9;
179+
Rational *arr[count] = {
180+
new Rational(1, 2),
181+
new Rational(12, 21),
182+
new Rational(13, 22),
183+
new Rational(14, 23),
184+
new Rational(15, 24),
185+
new Rational(0, 1),
193186
new Rational(666, 6),
194-
new Rational(16, 25),
195-
new Rational(17, 26)};
196-
cout << "original:\n";
197-
for (int i = 0; i < count; i++)
198-
{
199-
cout << *(arr[i]) << endl;
200-
}
201-
cout << "sorted:\n";
202-
ShellSort(count, arr);
203-
for (int i = 0; i < count; i++)
204-
{
205-
cout << *(arr[i]) << endl;
187+
new Rational(16, 25),
188+
new Rational(17, 26)
189+
};
190+
191+
cout << "original:\n";
192+
for (int i = 0; i < count; i++) {
193+
cout << *(arr[i]) << endl;
194+
}
195+
196+
ShellSort(count, arr);
197+
cout << "sorted:\n";
198+
for (int i = 0; i < count; i++) {
199+
cout << *(arr[i]) << endl;
200+
}
206201
}
207202
}
208-
}
209203
}

0 commit comments

Comments
 (0)