Berechnung komplexer Zahlen geht nicht
-
Hallo Leute,
muss ein Programm schreiben das komplexe Zahlen mit Hilfe von Überladenen-Operatoren
berechnet, doch leider berechnet es mit immer den Imaginärteil falsch, weiß nicht wieso, die Fornel müßte laut Buch stimmen.Hoffe könnt mir weiterhelfen, Gruß Dirk
C++:
//Überladener * Operator
komplex komplex::operator * (komplex KZ) {
re = (re * KZ.re) - (im * KZ.im);
im = (re * KZ.im) + (im * KZ.re);
return *this;
}//Überladener = Operator
komplex komplex::operator = (komplex KZ) {
re = KZ.re;
im = KZ.im;return *this;
}
-
(a+bi)*(c+di)=ac-bd+adi+bic
Also die Berechnung des Produktes müsste stimmen. Versuch mal das Problem zu isolieren und zeig ein wenig mehr Code.
-
http://icl.pku.edu.cn/bswen/_old_stuff/c/C99FinalDraft.pdf
und suchen nach "7.3 Complex arithmetic <complex.h>"
-
Wenn er eine Klasse für komplexe Zahlen schreiben soll, heißt das nicht, dass er eine vorgefertigte, auch wenn sie im Standard enthalten ist, benutzen soll. -.-