Wie schreibe ich eine Schleife für Ans?



  • Hallo zusammen.
    Ich hab noch nicht oft in c++ programmiert und hab ein problem...
    ich möchte, dass das Ergebnis aus einer Rechnung immer wieder eingesetzt wird. also wie die Ans-Funktion im Taschenrechner und krieg da nicht hin. Kann mir jemand helfen?
    Danke m voraus.
    lg



  • Ich würde sagen du defenierst eine Variable ans ausserhalb der Schleife. Innerhalb der Schleife kannst du dann diese verwenden und verändern.



  • wie würde ich die dann definieren, weil die ja dann eig sich immer verändert...



  • Wenn du nur immer das zuletzt ausgerechnete Resultat möchtest, kannst du das z.B. so machen:

    int ans = 0;
    	for ( int i = 0; i < 10; i++ ) // Rechnet 10 mal + 1 zu ans
    	{
    		ans += 1;
    	}
    

    Du verwendest dann für jeden neuen Rechenschritt ans.

    Falls du mehrere Rechenergebnisse nutzen möchtest, dann könntest du einen std::vector nehmen.

    Falls ich dich falsch verstehe und du was anderes möchtest, dann gib mal ein konkretes Beispiel.



  • wenn ich z.B. beim logistischen wachstum immer den wert vom letzten B(t) brauche.
    so mein ich das...



  • skye schrieb:

    wenn ich z.B. beim logistischen wachstum immer den wert vom letzten B(t) brauche.
    so mein ich das...

    Ich kenne jetzt das logistische Wachstum nicht genau. Aber du kannst das letzte B(T) einfach in der Variable ans speichern. Bei jedem Schleifendurchlauf kannst du den Wert von vorher dann brauchen.

    Hier ein Beispiel mit Zinseszins:

    const int start_kapital = 100;
    	double kapital_nach_n_jahren = 100; // Das Kapital nach n Jahren
    
    	for ( int i = 0; i < 10; i++ ) // 10 Jahre
    		kapital_nach_n_jahren = kapital_nach_n_jahren * ( 1.0 + 2.3 / 100 ); // Jedes Jahr erhöt sich das Kapital um den Zins, abhängig vom vorherigen Jahr
    
    	std::cout << kapital_nach_n_jahren << std::endl;
    

    Ist es jetzt klar?

    (Natürlich ist die Implementierung nicht wirklich sinnvoll, da man es auchg leich direkt berechnen könnte. Es dient also nur zur Erklärung).



  • ah... klar! danke!


Anmelden zum Antworten