Potenzieren in c++
-
Guten Morgen
ich habe ein problem mit dem potenzieren in c++...
bisher habe ich das problem auf folgende weise gelöst:double Potensrechnung (double ZahlA, double ZahlB) { double Erg = 0.0; if (ZahlB == 0) { Erg=1; } else { if (ZahlB == 1) { Erg= ZahlA; } else { Erg=ZahlA*ZahlA; for (int i = 3; i <= ZahlB; i++) { Erg=Erg*ZahlA; } } } return Erg; }
Jetzt habe ich aber das problem das man keine minus zahl als exponenten angeben kann, da sonst ein falsches ergebnis vorliegt!
Gibt es eine möglichkeit dies auch mit einzufügen?Danke im Voraus
-
pow
-
thx xD
-
Kannst auch die Basis vorher durch nen abs() saugen oder halt pow() benutzen
-
Ganz im Ernst: Allein deiner seltsamen Einrückung wegen wird kaum einer den Code jemals lesen.
Ich steige aber schon bei der ersten Zeile aus: warum kann ich einen double-Exponenten angeben, wenn er dann ohnehin wie eine Ganzzahl verwendet wird?
-
cheopz schrieb:
Ganz im Ernst: Allein deiner seltsamen Einrückung wegen wird kaum einer den Code jemals lesen.
Ich steige aber schon bei der ersten Zeile aus: warum kann ich einen double-Exponenten angeben, wenn er dann ohnehin wie eine Ganzzahl verwendet wird?
die formatierung lässt sich echt bissel verbessern
double Potensrechnung (double ZahlA, double ZahlB) { double Erg = 0.0; if (ZahlB == 0) Erg=1; else if (ZahlB == 1) Erg= ZahlA; else{ Erg=ZahlA*ZahlA; for (int i = 3; i <= ZahlB; i++) Erg=Erg*ZahlA; } return Erg; }
nicht perfekt aber eine anregung