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:


Log in to reply