Summieren und sortieren



  • otze_logout schrieb:

    daddy_felix schrieb:

    Ich würde das mit dem Gauß lösen, ist viel performanter als eine for-Schleife *duckundweg*

    ja, aber wir wollen den Gauss doch überprüfen 😉

    das beweist doch so ziemlich jeder Student, der eine Mathe-Vorlesung hört, per natürlicher Induktion...

    aber andererseits, als Unit Test ob die Implementierung stimmt, wäre das natürlich eine Idee. Auch wenn die Formel jetzt nicht so extrem kompliziert ist 😉



  • #include <iostream>
    
    using namespace std ;
    
    int main () {
    
        int zahl ;
    
        for (zahl=0; zahl <= 1000; zahl++) 
        {
            cout << zahl << endl ;
    
            }
    
        getchar();
    
        }
    

    Das würde ich so lösen ?



  • sry meinte naklar

    for (zahl=0; zahl <= 10000 ; zahl++ )
    


  • Cevin19994 schrieb:

    #include <iostream>
    
    using namespace std ;
    
    int main () {
        
        
        int zahl ;
        
        for (zahl=0; zahl <= 1000; zahl++) 
        {
            cout << zahl << endl ;
            
            }
        
        getchar();
        
        
        }
    

    Das würde ich so lösen ?

    irgendwie ist dir jetzt die Addition verloren gegangen...



  • Naja wozu auch die schleife rechnnet doch ... der anfangswert ist bei 0 und er tut immer 1 dazu bis er bei 10000 ist ... gehört ja wohl auch zum rechnen oder ? 🙂



  • Also wenn
    1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 ist und
    1 + ...+ ... + 10000 = 10000
    siehst du da keine Inkonsistenz?



  • Ouuuuu doch jetzt seh ich's 😮



  • #include <iostream>
    
    using namespace std ;
    
    int main () {
    
        int zahl  ;
        int plus  ;
    
        for (plus=0;  plus <= 10000 ; plus++) 
        {
            cout << plus + zahl << endl ;
    
            }
    
        getchar();
    
        }
    

    so besser ?



  • Cevin19994 schrieb:

    #include <iostream>
    
    using namespace std ;
    
    int main () {
        
        
        int zahl  ;
        int plus  ;
        
        for (plus=0;  plus <= 10000 ; plus++) 
        {
            cout << plus + zahl << endl ;
            
            }
        
        getchar();
        
        
        }
    

    so besser ?

    Ne leider nicht.
    1. Es kommen komische Werte raus.
    2. Wir wollen mit dem Endergebnis später weiterrechnen, sprich du musst das Endergebnis irgendwo abspeichern.



  • kriege das erstmal bei dir zu Hause zum Laufen, dann poste hier wieder, wenn es läuft 😉



  • Cevin19994 schrieb:

    #include <iostream>
    
    using namespace std ;
    
    int main () {
        int zahl  ;
        int plus  ;
        for (plus=0;  plus <= 10000 ; plus++) 
        {
            cout << plus + zahl << endl ;
        }
        getchar();
    }
    

    so besser ?

    Äh - nein. Hast Du den Code ausprobiert? Wenn am Ende nicht 50005000 erscheint - und sonst gar nichts - weder davor noch danach, dann funktioniert Dein Programm nicht.

    Mal angenommen Du würdest die Zahlen 1 bis 10000 per Hand zusammenzählen. Und zwar in der Reihenfolge 1,2,3,4.. usw. und Du wärst bei der Zahl 7 und hättest als Summe also 28. Die nächste Zahl wäre die 8 - die erscheint aber erst mit dem nächsten Durchlauf der Schleife. Was machst Du solange mit der Summe?

    Weißt Du was in C++ eine Zuweisung ist?

    Im Übrigen habe ich Dir die Lösung schon genannt - gleich im ersten Absatz.

    Gruß
    Werner


Anmelden zum Antworten