stimmt dieser algorithmus??

CComplex CComplex::operator^(CComplex c)
{
if (c.im != 0)
{
throw("Potenzierung nur möglich, wenn Imag 2. == 0");
}

if (re == 0 && im == 0)
{
throw("Bitte Werte ungleich 0 für erste Zahl eingegen (Realteil und Imaginärteil)");
}

CComplex temp;
double r, phi;

r = sqrt(re*re + im*im);
phi = atan(im/re);

r = pow(r,c.re);
phi = phi*c.re;

temp.re = r*cos(phi);
temp.im = r*sin(phi);

return temp;
}

kann mir bitte jemand,der sich in mathe ein bisserl besser auskennnt sagen op dieser algorithmus hinhaut?? es wird zwar gerechnet, aber ich habe keine möglichkeit zu kontrollieren ob das erg. richtig ist.....
 
Bau halt ne Ausgabe-Funktion (cout,printf) ein, welche das Ergebnis der Komplexen Zahlenoperation ausgibt am ende.
 
Zurück
Oben