Variable überschreiben, wie?



  • Im folgenden Code hatte ich vor x,y Werte festzulegen aus denen ein Wert entsteht und dieser erg zugeteilt wird. Beim nächsten Durchgang der For Schleife sollen je nach erg neue x,y Werte genommen werden.

    Ich hatte also im folgenden Beispiel vor: erst 2/3 zu rechnen.
    Beim nächsten Durchgang sollte das Ergebnis(erg) betrachtet werden und wenn dieser <1 ist (was hier der Fall ist) sollen 3/4 berechnet werden.
    Ausgabe müsste dann 0,67... und 0,75 sein, jedoch ist die ausgabe
    0,75 und nocheinmal 0,75

    Was muss ich hier ändern? Danke im Voraus

    {
    int i=0;
    int n=2;
        for(i=0;i<n;i++)
    {
    int x=2;
    int y=3;
    float erg;
    
    if (erg<1){
        x=3;
        y=4;
    }
    
        erg=(float)x/(float)y;
    
                printf("Erg ist %f\n",erg);
    
    }
    }
    

    Habs umgeändert und nun gehts, aber könnte das noch besser gelöst werden, ohne das erg am Anfang initialisiert wird.

    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <time.h>
    
    // Würfeln mit 5 Würfeln
    
    int main ()
    
    {
    int i=0;
    int n=2;
    float erg=2;
    
        for(i=0;i<n;i++)
    {
    int x=2;
    int y=3;
    
    //////// wenn erg <1 /////////////////
    
    if (erg<(float)1){
        x=3;
        y=4;
    }
    
    ////////////////////////////////////////
    
        erg=(float)x/(float)y;
    
                printf("Erg ist %f\n",erg);
    
    }
    }
    


  • BunterVogel schrieb:

    ...aber könnte das noch besser gelöst werden, ohne das erg am Anfang initialisiert wird...

    Ja, indem du erg abfragst, nachdem du erg das Ergebnis der Berechnung zugewiesen hast.
    Warum benutzt du in einem C-Forum nicht den Knopf "C/C++"?


Anmelden zum Antworten