e-olymp 9531. Комплексные числа: сложение и вычитание

Условие

Даны два комплексных числа. Найдите их сумму или разность.

Входные данные

В каждой строке задан пример на сложение или вычитание комплексных чисел. Комплексное число задается в формате $a+bi$ или $a — bi$, где $a$ целое, $b$ целое неотрицательное. Действительная и мнимая часть каждого комплексного числа по модулю не превышает $10^{9}$.

Выходные данные

Для каждого входного примера выведите ответ в отдельной строке.

Тесты

Входные данные

Выходные данные

1
2+3i + 7-4i
9-1i
2
-1-1i — -1-1i
0+0i
3 56743+876i — 1234-124i 55509+1000i
4 331+10i — 331+10i 0+0i

Код

Решение

Чтобы решить задачу будем разбивать строки на подстроки методом .split() тогда, для каждой строки у нас будет массив из трёх её подстрок, где первый и третий элементы — комплексные числа, а второй — арифметическая операция производимая над ними. Далее оба комплексных числа так же, с помощью .split(), разобьем на реальную и мнимую части и выполним сложение или вычитание соответственных элементов.

Ссылки

E-olymp

Ideone

Класс комплексных чисел

Задача.

Напишите класс для хранения комплексных чисел и реализуйте основные операции работы с ними.

Тесты.

Исходные числа Операция Результат
z1 = 2 + 3i

z2 = -1 + 2i

+ 1.0 + 5.0i
3.0 + i
* -8.0 + i
/ 0.8 — 1.4i
3 + 4i  2.0 + i,

-2.0 -i

-1 + 2i pow -3.0 — 4.0i

Код программы

Ссылка на Ideone.