Комплексные числа и связанный список

Я получил это задание, где у меня есть связанный список с комплексными числами, и задача состоит в том, чтобы поставить и напечатать эти числа с помощью связанного списка. Несколько лет назад я изучил основы комплексных чисел, но это задание действительно сбивает меня с толку, и я не знаю, с чего начать, единственная информация — это приведенная выше и следующий файл .h:

#ifndef COMPLEX_H
#define COMPLEX_H
#include <iostream>
struct Complex
{
int real, imag;
};
void read(Complex &, std::istream &);
void print(const Complex &, std::ostream & os=std::cout);
bool operator<(const Complex & lhs, const Complex & rhs);
bool operator>(const Complex & lhs, const Complex & rhs);
bool operator==(const Complex & lhs, const Complex & rhs);

#endif

Я был бы благодарен за некоторые начальные указания с этим заданием, что должны содержать функции print и read (кроме заданных аргументов) для использования ?? операторы bool выше? Я гуглил пару часов, но не смог найти хорошего соответствия между учебниками по сложным числам и моей задачей, кроме того, у меня есть крайний срок для этого, и для связи с учителями с вопросами об этом уйдут дни.

0

Решение

Функция печати должна отображать число в указанном выходном потоке. Обычно комплексные числа отображаются так: 1+2i или это: (1+2i) или даже это: (1,2), Вы можете сделать это с помощью цепочки операторов:

os << "(" << c.real << "+" << c.imag << "i)";

Проверка на равенство должна вернуть true, если оба компонента lhs равны своим коллегам в rhs:

return lhs.real == rhs.real && lhs.imag == rhs.imag;

Детали read, operator< а также operator> будет варьироваться в зависимости от вашего точного назначения. Перечитайте свое задание, обращая пристальное внимание на любое определение того, что эти функции должны делать.

1

Другие решения

Других решений пока нет …