/
miked3
/
labi
Обзор
Документация
Войти
/
miked3
/
labi
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
complexstruct
92 строки
3 KB
miked3
create complexstruct
21 дек 2025, 20:47
21 дек 2025, 20:47
28ce8b2
Код
Авторство
О чём код?
#include <iostream> using namespace std; struct Complex { double real; double imaginary; }; Complex add( Complex& a, Complex& b) { Complex result; result.real = a.real + b.real; result.imaginary = a.imaginary + b.imaginary; return result; } Complex subtract( Complex& a, Complex& b) { Complex result; result.real = a.real - b.real; result.imaginary = a.imaginary - b.imaginary; return result; } Complex multiply(Complex& a,Complex& b) { Complex result; result.real = a.real * b.real - a.imaginary * b.imaginary; result.imaginary = a.real * b.imaginary + a.imaginary * b.real; return result; } Complex divide( Complex& a, Complex& b) { Complex result; double znamenatel = b.real * b.real + b.imaginary * b.imaginary; if (znamenatel == 0) { cout << "ошибка: деление на ноль!" << endl; result.real = 0; result.imaginary = 0; } else { result.real = (a.real * b.real + a.imaginary * b.imaginary) / znamenatel; result.imaginary = (a.imaginary * b.real - a.real * b.imaginary) / znamenatel; } return result; } // Вывод комплексного числа void printComplex(Complex& c) { cout << c.real; if (c.imaginary >= 0) cout << " + " << c.imaginary << "i" << endl; else cout << " - " << -c.imaginary << "i" << endl; } int main() { setlocale(LC_ALL, "rus"); Complex c1, c2, result; int choice; cout << "введите действительную и мнимую часть первого числа: "; cin >> c1.real >> c1.imaginary; cout << "введите действительную и мнимую часть второго числа: "; cin >> c2.real >> c2.imaginary; cout << "выберите операцию:\n1 - сложение\n2 - вычитание\n3 - умножение\n4 - деление\n"; cin >> choice; switch (choice) { case 1: result = add(c1, c2); cout << "сумма: "; break; case 2: result = subtract(c1, c2); cout << "разность: "; break; case 3: result = multiply(c1, c2); cout << "произведение: "; break; case 4: result = divide(c1, c2); cout << "частное: "; break; default: cout << "папробуй еще раз" << endl; return 1; } printComplex(result); return 0; }