Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <Windows.h>
- #include <conio.h>
- using namespace std;
- class Complex
- {
- double a0, b0;
- public:
- Complex()
- {
- a0 = b0 = 0;
- }
- Complex(double real, double imaginary)
- {
- a0 = real;
- b0 = imaginary;
- }
- void set_a(double A)
- {
- a0 = A;
- }
- void set_b(double B)
- {
- b0 = B;
- }
- double get_a()
- {
- return a0;
- }
- double get_b()
- {
- return b0;
- }
- void print()
- {
- if (b0 == 1)
- cout << a0 << " + " << 'i' << endl;
- else if (b0 == -1)
- cout << a0 << " - " << 'i' << endl;
- else if (b0 >= 0)
- cout << a0 << " + " << b0 << 'i' << endl;
- else
- cout << a0 << " - " << abs(b0) << 'i' << endl;
- }
- Complex add(Complex A, Complex B)
- {
- Complex tmp;
- tmp.a0 = A.a0 + B.a0;
- tmp.b0 = A.b0 + B.b0;
- return tmp;
- }
- Complex sub(Complex A, Complex B)
- {
- Complex tmp;
- tmp.a0 = A.a0 - B.a0;
- tmp.b0 = A.b0 - B.b0;
- return tmp;
- }
- Complex mul(Complex A, Complex B)
- {
- Complex tmp;
- tmp.a0 = A.a0 * B.a0 - A.b0 * B.b0;
- tmp.b0 = A.a0 * B.b0 + A.b0 * B.a0;
- return tmp;
- }
- Complex div(Complex A, Complex B)
- {
- Complex tmp;
- tmp.a0 = (A.a0 * B.a0 + A.b0 * B.b0) / (B.a0 * B.a0 + B.b0 * B.b0);
- tmp.b0 = (B.a0 * A.b0 - A.a0 * B.b0) / (B.a0 * B.a0 + B.b0 * B.b0);
- return tmp;
- }
- bool equ(Complex A, Complex B)
- {
- return (A.a0 == B.a0 && A.b0 == B.b0);
- }
- Complex conj(Complex A)
- {
- Complex tmp;
- tmp.a0 = A.a0;
- tmp.b0 = -A.b0;
- return tmp;
- }
- };
- void read(Complex& my)
- {
- double real, imag;
- cout << "Enter rp = ";
- cin >> real;
- cout << "Enter ip = ";
- cin >> imag;
- my.set_a(real);
- my.set_b(imag);
- };
- int main()
- {
- Complex b;
- read(b);
- return 0;
- }
- //
- //
- //{
- // SetConsoleOutputCP(1251);
- // SetConsoleCP(1251);
- //
- // Complex A, B, C;
- // double a, b, c, d;
- //
- // int q;
- //
- // do
- // {
- // cout << "1. Сложение" << endl;
- // cout << "2. Вычитание" << endl;
- // cout << "3. Умножение" << endl;
- // cout << "4. Деление" << endl;
- // cout << "5. Сравнение" << endl;
- // cout << "6. Сопряженное число" << endl;
- // cout << "0. Выход" << endl;
- //
- // cin >> q;
- //
- // if (q > 0 && q < 6)
- // {
- // cout << "\nВведите действительную часть первого комплексного числа:" << endl;
- // cin >> a;
- // cout << "Введите мнимую часть первого комплексного числа:" << endl;
- // cin >> b;
- // A.set_a(a);
- // A.set_b(b);
- // cout << "Получено следующее комплексное число:" << endl;
- // A.print();
- // cout << "Введите действительную часть второго комплексного числа:" << endl;
- // cin >> c;
- // cout << "Введите мнимую часть второго комплексного числа:" << endl;
- // cin >> d;
- // B.set_a(c);
- // B.set_b(d);
- // cout << "Получено следующее комплексное число:" << endl;
- // B.print();
- // }
- //
- // else if (q == 6)
- // {
- // cout << "\nВведите действительную часть первого комплексного числа:" << endl;
- // cin >> a;
- // cout << "Введите мнимую часть первого комплексного числа:" << endl;
- // cin >> b;
- // A.set_a(a);
- // A.set_b(b);
- // cout << "Получено следующее комплексное число:" << endl;
- // A.print();
- // }
- // switch (q)
- // {
- // case 1:
- // cout << "\nПолучено следующее комплексное число:" << endl;
- // C = A.add(A, B);
- // C.print();
- // break;
- // case 2:
- // cout << "\nПолучено следующее комплексное число:" << endl;
- // C = A.sub(A, B);
- // C.print();
- // break;
- // case 3:
- // cout << "\nПолучено следующее комплексное число:" << endl;
- // C = A.mul(A, B);
- // C.print();
- // break;
- // case 4:
- // cout << "\nПолучено следующее комплексное число:" << endl;
- // C = A.div(A, B);
- // C.print();
- // break;
- // case 5:
- // if (A.equ(A, B))
- // cout << "Равны" << endl;
- // else cout << "Не равны" << endl;
- // break;
- // case 6:
- // cout << "\nИсходное комплексное число:" << endl;
- // A.print();
- // C = A.conj(A);
- // cout << "Сопряженное комплексное число:" << endl;
- // C.print();
- // break;
- //
- // defaut: break;
- // }
- // } while (q != 0);
- //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement