Mein Code wirft mir hier eine Gleitkommaausnahme, aber ich kann nicht herausfinden, warum.Floating Point Ausnahme für scheinbar keinen Grund
int i = this -> numerator;
while(i > 1){
if ((this -> numerator % i == 0) && (this -> denominator % i == 0)) {
this -> numerator = this -> numerator/i;
this -> denominator = this -> denominator/i;
}
i = i - 1;
}
Ziel ist es, einen Bruchteil zu vereinfachen. Wie du sehen kannst, werden die Dinge nur durch i und i> 1 mod. Dasselbe gilt für die Division. Seltsamerweise wird es weiterhin den Fehler werfen, selbst wenn ich den Code innerhalb der while-Schleife auskommentiere, aber der Code funktioniert gut, wenn ich die while-Schleife vollständig loslasse. Das Gleiche passierte, als ich stattdessen eine for-Schleife verwenden wollte. Was vermisse ich?
Bitte entfernen Sie alle diese 'this ->' s. Sie sind bedeutungslos und ablenkend. –
Wie groß ist 'i' am Loop-Eingang und was sind Werte von' * this'? Was ist die Art von "Zähler" und "Nenner"? – davidbak
Zeigen Sie ein vollständiges Codebeispiel an, das nicht funktioniert. –