Variable Quadrieren
-
Hi,
wie kann man denn eine Variable Quadrieren ?
Beispiel:
int x = 5; int y; int z = 100; y = x*x; erg = z/y; printf("%f", erg);
geht irgendwie nicht :xmas2:
-
Was heißt "geht nicht"? Wenn du an den Nachkommastellen interessiert bist, solltest du Gleitkomma-Arithmetik verwenden -
erg=z/y;
verwendet Ganzzahl-Division.(du benötigst vermutlich
erg=(double)z/y;
)PS: Ja, das Quadieren selber ist korrekt.
-
CStoll schrieb:
Wenn du an den Nachkommastellen interessiert bist, solltest du Gleitkomma-Arithmetik verwenden...
ein 'int' mal sich selbst genommen gibt keine nachkommastellen.
ich schätze es liegt am '%f' im 'printf'. da wär vielleicht '%d' oder '%u' besser...
-
net schrieb:
CStoll schrieb:
Wenn du an den Nachkommastellen interessiert bist, solltest du Gleitkomma-Arithmetik verwenden...
ein 'int' mal sich selbst genommen gibt keine nachkommastellen.
Die int-Multiplikation nicht, die Division "erg=z/y;" aber schon. Und wenn ich raten müsste, würde ich bei dieser Anweisung das Problem vermuten.
ich schätze es liegt am '%f' im 'printf'. da wär vielleicht '%d' oder '%u' besser...
OK, starten wir eine große Raterunde ala "wo ist der Fehler?" Aber freundlicherweise hat Jan nicht dazugesagt, was sich hinter den einzelnen Variablen verbirgt (und welchen Datentyp 'erg' hat).
-
CStoll schrieb:
die Division "erg=z/y;" aber schon.
auch nicht, 100/25 ist 4 ohne rest.
also, jan, zeig den ganzen code...
:xmas2: