Skip to content

Commit e7552cf

Browse files
committed
dop is ready
1 parent ef72288 commit e7552cf

File tree

2 files changed

+66
-16
lines changed

2 files changed

+66
-16
lines changed

HugeInt.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -354,16 +354,13 @@ HugeInt operator%(HugeInt &n1, HugeInt &n2) {
354354
for (HugeInt i("0"); i <= a; i = i + b) {
355355
main_sum++;
356356
}
357-
cout << " main sum: " << main_sum << endl;
357+
// cout << " main sum: " << main_sum << endl;
358358
HugeInt last_sum = b * main_sum;
359-
cout << " last sum: " << last_sum << endl;
359+
// cout << " last sum: " << last_sum << endl;
360360

361361
if (!a.negative) {
362-
// last_sum = a - last_sum;
363362
return a - last_sum;
364363
} else {
365-
// last_sum = b * main_sum;
366-
// last_sum = a + last_sum;
367364
return a + last_sum;
368365
}
369366
}

L12_6.cpp

Lines changed: 64 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,71 @@
1919
//* умножение
2020
//* нахождение остатка от деления
2121

22+
// менять знак числа
23+
// менять позицию на разряде
24+
2225
#include "HugeInt.h"
2326
using namespace std;
2427

2528
int main() {
26-
HugeInt a, b, s;
29+
setlocale(LC_ALL, "Russian");
30+
31+
HugeInt a, b("7"), s;
32+
33+
wcout << L"Введите первое число: ";
34+
cin >> a;
35+
wcout << L"Введите второе число: ";
36+
cin >> b;
37+
38+
while (1) {
39+
int num;
40+
wcout << L"С каким числом вы хотите работать (0 - a, 1 - b): " << endl;
41+
cin >> num;
42+
43+
wcout << L"Введите что вам нужно сделать:" << endl;
44+
wcout << L"1 - Менять знак числа" << endl;
45+
wcout << L"2 - Менять позицию на разряде" << endl;
46+
wcout << L"0 - Выйти" << endl;
2747

28-
a.set("1000");
29-
b.set("7");
48+
cout << ">> ";
49+
int to_do;
50+
cin >> to_do;
51+
52+
switch (to_do) {
53+
case 1: {
54+
wcout << L"Исходное число: ";
55+
cout << (num ? b : a) << endl;
56+
(num ? b : a) = -(num ? b : a);
57+
wcout << L"Измененное число: ";
58+
cout << (num ? b : a) << endl;
59+
break;
60+
}
61+
62+
case 2: {
63+
wcout << L"Исходное число: ";
64+
cout << (num ? b : a) << endl;
65+
wcout << L"Введите индекс и цифру: ";
66+
int index, digit;
67+
cin >> index >> digit;
68+
(num ? b : a).set_digit(index, digit);
69+
wcout << L"Измененное число: ";
70+
cout << (num ? b : a) << endl;
71+
break;
72+
}
73+
74+
case 0: {
75+
goto end;
76+
}
77+
}
78+
}
79+
80+
end:
81+
82+
// a.set_minus(!a.has_minus()); -- изменение знака
83+
// a.set_digit(1, 2);
84+
// cout << a << " " << a.get_digit(1) << endl;
3085

86+
cout << endl;
3187
if (a.check_zero()) {
3288
cout << a << " - its zero " << endl;
3389
} else {
@@ -55,18 +111,15 @@ int main() {
55111
cout << "Summ = " << s << endl;
56112

57113
s = -s;
58-
cout << s << endl;
114+
cout << "-s = " << s << endl;
59115

60116
// проверка умножения
61-
HugeInt test1, test2;
62-
test1.set("123");
63-
test2.set("42");
64117

65-
HugeInt test_mult = test1 * test2;
66-
cout << "123 * 42 = " << test_mult << endl;
118+
HugeInt test_mult = a * b;
119+
cout << "a * b = " << test_mult << endl;
67120

68-
HugeInt test_mod = test1 % test2;
69-
cout << "123 % 42 = " << test_mod << endl;
121+
HugeInt test_mod = a % b;
122+
cout << "a % b = " << test_mod << endl;
70123

71124
return 0;
72125
}

0 commit comments

Comments
 (0)