Stitchi16
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору #include <iostream> using namespace std; class BigInt { int mas[64]; public: // конструкторы: // конструктор по умолчанию BigInt() { for (int i = 0; i < 64; i++) { mas[i] = 0; } } // конструктор с параметрами BigInt(int n) { while (n >= 10) { cout << "Enter other number: "; cin >> n; } for (int i = 0; i < 64; i++) { mas[i] = n; } } // конструктор копирования BigInt(const BigInt &b) { for (int i = 0; i < 64; i++) { mas[i] = b.mas[i]; } } // деструктор ~BigInt() {} // перегрузка операторов: // ввод friend ifstream &operator << (ifstream &out, const BigInt &b); // вывод friend ofstream &operator << (ofstream &out, const BigInt &b); // операция сравнения "<" bool operator < (BigInt b) const { cout << "\nComparsion operation(<)\n"; for (int i = 0; i < 64; i++) { return (mas[i] < b.mas[i]) ? true : false; } } // операция сравнения ">" bool operator > (BigInt b) const { cout << "\nComparsion operation(>)\n"; for (int i = 0; i < 64; i++) { return (mas[i] > b.mas[i]) ? true : false; } } // операция сравнения "==" bool operator == (BigInt b) const { cout << "\nComparsion operation(==)\n"; for (int i = 0; i < 64; i++) { return (mas[i] == b.mas[i]) ? true : false; } } // сложение BigInt operator + (BigInt b) const { cout << "\nAddition(+):\n"; int mastemp[64]; for (int i = 0; i < 64; i++) { mastemp[i] = mas[i] + b.mas[i]; return BigInt(mastemp[i]); } } // вычитание BigInt operator - (BigInt b) const { cout << "\nSubtraction(-):\n"; int mastemp[64]; for (int i = 0; i < 64; i++) { mastemp[i] = mas[i] - b.mas[i]; return BigInt(mastemp[i]); } } // !умножение BigInt operator * (BigInt b) const { cout << "\nMultiplication(*):\n"; int mastemp[64]; for (int i = 0; i < 64; i++) { mastemp[i] = mas[i] * b.mas[i]; return BigInt(mastemp[i]); } } // !деление BigInt operator / (BigInt b) const { cout << "\nDivision(/):\n"; int mastemp[64]; for (int i = 0; i < 64; i++) { mastemp[i] = mas[i] / b.mas[i]; } return mastemp[64]; } // преобразование типов operator char () const { } // методы: void printMas() const { for (int i = 0; i < 64; i++) { cout << "Elemet massive: " << i << "\t" << " - Number: " << mas[i] << "\n"; } } }; // ostream &operator << (ostream &out, const BigInt &b) { for (int i = 0; i < 64; i++) { //out << b.mas[i] << "\n"; return out; } } // int main() { int n1, n2; cout << "Enter initial value of the first big integer: "; cin >> n1; BigInt b1(n1); cout << "Enter initial value of the second big integer: "; cin >> n2; BigInt b2(n2); if (b1 < b2) cout << "b1 < b2\n"; else cout << "b2 >= b2\n"; if (b1 > b2) cout << "b1 > b2\n"; else cout << "b2 <= b2\n"; if (b1 == b2) cout << "b1 == b2\n"; else cout << "b2 != b2\n"; BigInt b3; b3 = b1 + b2; b3.printMas(); b3 = b1 - b2; b3.printMas(); b3 = b1 * b2; b3.printMas(); b3 = b1 / b2; b3.printMas(); getchar(); getchar(); return 0; } |