Skip to content

Commit 8f2ad83

Browse files
committed
Lab 12 var 6 ver 2 dop added
1 parent a26ff13 commit 8f2ad83

File tree

4 files changed

+26
-28
lines changed

4 files changed

+26
-28
lines changed

STATUS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Status Page ⚡
22

33
Here are the completed variants for each laboratory work
4-
Total progress: `29 / 260` (11.15 %)
4+
Total progress: `31 / 260` (11.92 %)
55

66
## Lab 0
77

@@ -101,11 +101,11 @@ Variants now ready: `1 / 20`
101101

102102
## Lab 12
103103

104-
Variants now ready: `1 / 20`
104+
Variants now ready: `3 / 20`
105105

106-
| 01 | 02 | 03 | 04 | 05 | [](Semester_2/Lab_12) | 07 | 08 | 09 | 10 |
106+
| 01 | 02 | 03 | 04 | 05 | [](Variants/Lab_12/var_6) | 07 | 08 | 09 | 10 |
107107
|---|---|---|---|---|---|---|---|---|---|
108-
| [](Variants/Lab_12/var_11) | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
108+
| [](Variants/Lab_12/var_11) | [](Variants/Lab_12/var_12) | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
109109

110110
## Lab 13
111111

HugeInt.cpp renamed to Variants/Lab_12/var_6/HugeInt.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,10 @@ HugeInt operator*(HugeInt &n1, HugeInt &n2) {
345345
}
346346

347347
HugeInt operator%(HugeInt &n1, HugeInt &n2) {
348+
// максимально неоптимальная реализация
349+
// для оптимизации нужно сначала реализовать оператор деления
350+
// TODO: когда-нибудь исправить!!
351+
348352
if (n1 < n2) return n1;
349353
HugeInt a(n1), b(n2), main_sum("1");
350354
if (b.negative) {
@@ -354,10 +358,7 @@ HugeInt operator%(HugeInt &n1, HugeInt &n2) {
354358
for (HugeInt i("0"); i <= a; i = i + b) {
355359
main_sum++;
356360
}
357-
// cout << " main sum: " << main_sum << endl;
358361
HugeInt last_sum = b * main_sum;
359-
// cout << " last sum: " << last_sum << endl;
360-
361362
if (!a.negative) {
362363
return a - last_sum;
363364
} else {

L12_6.cpp renamed to Variants/Lab_12/var_6/L12_6.cpp

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,21 @@
33
// Разрядность указать в конструкторе. Предусмотреть функции сложения, вычитания, сравнения и проверки на 0.
44

55
/// TODO ///
6-
//? НЕ ДОП:
7-
//* расставить const
8-
//* сет и гет для всех полей
9-
//* узнавать знак числа
10-
//* менять знак числа
11-
//* узнавать позицию на разряде
12-
//* менять позицию на разряде
13-
//* урезать размер числа, чтобы не было нулей
14-
//? ДОП:
15-
//* перегрузка операторов
16-
//* |- операторы сравнения
17-
//* |- операторы вывода на экран
18-
//* |- математические операторы
19-
//* умножение
20-
//* нахождение остатка от деления
21-
22-
// менять знак числа
23-
// менять позицию на разряде
6+
//? исправить:
7+
// расставить const
8+
// сет и гет для всех полей
9+
// узнавать знак числа
10+
// менять знак числа
11+
// узнавать позицию на разряде
12+
// менять позицию на разряде
13+
// урезать размер числа, чтобы не было нулей
14+
//? доп:
15+
// перегрузка операторов
16+
// |- операторы сравнения
17+
// |- операторы вывода на экран
18+
// |- математические операторы
19+
// умножение
20+
// нахождение остатка от деления
2421

2522
#include "HugeInt.h"
2623
using namespace std;
@@ -79,9 +76,9 @@ int main() {
7976

8077
end:
8178

82-
// a.set_minus(!a.has_minus()); -- изменение знака
83-
// a.set_digit(1, 2);
84-
// cout << a << " " << a.get_digit(1) << endl;
79+
a.set_minus(!a.has_minus()); //-- изменение знака
80+
a.set_digit(0, 2);
81+
cout << a << " " << a.get_digit(0) << endl;
8582

8683
cout << endl;
8784
if (a.check_zero()) {

0 commit comments

Comments
 (0)