Ich habe einen Bruch struct
, bereits nominator
und denominator
und is_correct()
Funktion, die zwei notwendige Bedingungen überprüft. Aber jetzt muss ich eine shorten()
Funktion machen, die meine Fraktion irreduzibel machen würde.Mehrere Anweisungen nach "?" Operator
Ich habe eine gcd()
Funktion (größte gemeinsame Teiler) gemacht und ich muss eine shorten()
Funktion in meiner Struktur setzen. Es sieht wie folgt aus:
struct fraction {
int n,d;
bool is_correct(){return d!=0?(abs(n)<abs(d)?true:false):false;};
void shorten(){gcd(n,d)!=1?(n=n/gcd(n,d);d=d/gcd(n,d)):;};
};
int gcd(int x, int y)
{
int z;
while (y!=0){z=x%y;x=y;y=z;}
return x;
}
Also, wenn gcd()
kehrt nicht 1
Wert, dann will ich n
um diesen Wert teilen und d
durch diesen Wert dividieren.
Und wenn ich versuche, es macht mir erwartet ":" vor ";" Token an vielen Orten. Was mache ich falsch?
es einfach schreiben 'if' /' else ... 'statt zu viel zu tun mit'? '(Während es kann Code kürzer machen, kann es auch weniger machen Code lesbar). – crashmstr
Sieht dieser Code für Sie leicht lesbar und verständlich aus? –