Rechnen mit c++



  • Hi,
    ich habe vor, für eine c++ AG, etwas zu programieren. Und zwar soll ich mit c++ einen rechnung schreiben die alle zahlen miteinander zwischen 0-99, also 1+2+3+4+5+6+7+8.... zum schluss soll der wert 4950(nach miener rechnung mitn taschenrechner) rauskommen, ich habe auch schon mit einrn freund dran gebastelt, leider is der jetzt erkrankt und hat schon ein bissle vom "code". und ich erreiche ihn nicht mehr. kann mir einner schnell erklären wie das geht, bei uns kam immer nur 185 raus!

    mfg
    scrap` 😉



  • Bei sowas einfachem kann man eigentlich nichtmal mehr Tips geben, ohne die Lösung zu verraten ...

    Initialisiere eine Variable Summe mit 0
    Zähle in einer Schleife von 0 bis 99
    Addiere den Schleifenindex auf die Summe
    Gib die Summe aus

    BTW hast du das wirklich mit dem Taschenrechner durchgetippt? Brav.



  • mach eine for-schleife und erhöhe immer um eins und dann kannst du ja sowas ungefähr in die schleife schreiben:

    summe+= Zahl //Die Zahl wird bei jedem Schleifendurchlauf um eins erhöht bis die Zahl 99 erreicht.



  • Och nö sorry, hab mich so vertan 🙂 tut mir echt leid!!! wir amchen c *schäm* kann das einer? 😡 😮



  • summe = (anzahl * (anzahl+1))/2;



  • aber nehme ich es da net mal??? 😕



  • kann ich eine variable auf 1 setzen sie global machen und dann in einer anderen proc die rechnung durchführen lassen:$i +1 und das dann aufwärts bis 100 ausführt??? war nur ne idee



  • int i=0, summe=0;
            for(i=0; i<99; summe+=(++i));
            printf("%d\n", summe);
    

    btw.

    summe = (anzahl * (anzahl+1))/2;
    

    ist das gleiche, Du kannst ja je 2 Zahlen zu anzahl+1 zusammenfassen (1 und 99, 2 und 98 usw.) und das ganze halt anzahl/2 mal.



  • int main()
    {
    	int i=0, summe=0;
    	for (i=0; i99; summe+=(++i))
    	prinf ("%d\n", summe);
    	return summe;
    }
    

    fehler beim ausführen: ./main.c: line 3: synstax error near unexpected token (' ./main.c: line 3:int main()'

    der gleiche fehler kommt auch bei void inna klamma! 😕 😕



  • scrap` schrieb:

    der gleiche fehler kommt auch bei void inna klamma! 😕 😕

    Du solltest den Code nochmal genau vergleichen: Da fehlt ein Semikolon hinter der for-Schleife!



  • Hi,

    hä, was soll das printf an der Stelle?

    int main()
    {
    int sum = 0;
    for(int i = 1; i < 100; ++i)
    sum += i;
    return sum;
    }
    

    MfG Eisflamme



  • entweder

    #include <iostream>
    int main()
    {
        int summe=0;
        for (int i=0; i<99; summe+=(++i)); // <-- ";"
        std::cout << summe << std::endl;// da wir ja hier im C++ Forum sind ;)
    }
    

    oder

    #include <iostream>
    int main()
    {
        int summe=0;
        for (int i=0; i<99; ++i) {
            summe+=i;
        } // in dem Fall kannste die { } auch weglassen da du nur eine Anweisung ausführst
        std::cout << summe << std::endl;
    }
    

    oder eben (besser) mit dem Gauß (afaik)

    #include <iostream>
    int main() {
        int n=99; // nochmal zur Darstellung der Formel...
        int summe = n*(n+1)/2;
        std::cout << summe << std::endl;
    }
    

    hf



  • @mis2com immer noch der fehler und ein neuer fehler nach gcc -Wall -o main main.c

    //edit @k1ro C/C++ forum steht bie mir drüber und wenn ich deine code nehme komme vile fehler! wäre net das nochmal in ein C form! danke



  • C/C++ Board
    und du postest hier im C++ Forum , nich im ANSI C 😉

    inkludier mal die <iostream>



  • gut dann mach ich den thread jetzt in ansi c forum 😉



  • ...

    na also ob du jetz "cout" oder "printf" verwendest,... dafür brauchst jetz auch nicht in nem andren Forum nochmal den gleichen Thread erstellen,

    hab die oberen Codeteile übrigens angepasst und die Fehler behoben ...



  • Folgendes muss einfach gehen, egal ob mit nem C oder C++ Compiler

    #include <stdio.h>
    
    int main()
    {
        int n = 99;
        int summe = n * (n+1)/2;
        printf ("Summe %d", summe);
    
        return 0;
    }
    


  • lj schrieb:

    int i=0, summe=0;
            for(i=0; i<99; summe+=(++i));
            printf("%d\n", summe);
    
    jan@bokrug jan $ cat test.c && gcc test.c && ./a.out
    #include <stdio.h>
    
    int main() {
            int i=0, summe=0;
            for(i=0; i<99; summe+=(++i));
            printf("%d\n", summe);
            return 0;
    }
    4950
    jan@bokrug jan $
    

    Geht doch wunderbar
    😕


Anmelden zum Antworten