Well, your
struct
is a (little) start. You know, you can raise a complex number by
iterative multiplication by itself[
^].
I give you an example
#include <iostream>
using namespace std;
struct complex
{
double re;
double im;
};
ostream & operator << (ostream & os, const complex & c)
{
os << c.re << "+" << c.im << "j ";
return os;
}
complex complex_multiply( const complex & factor1, const complex & factor2)
{
complex result;
result.re = factor1.re * factor2.re - factor1.im * factor2.im;
result.im = factor1.re * factor2.im + factor1.im * factor2.re;
return result;
}
int main()
{
complex c{1,1};
cout << "c=" << c << ", c^2 = " << complex_multiply(c,c) << endl;
}
Completing the exercises, now, is up to you.