C Programm - Forschleife die alle ungeraden Rahlen bis N addiert Hilfe



  • lolololo ok ich hab mal kurz nen screenshot gemacht bei mir kommt 6 raus .....

    http://i50.tinypic.com/23hopig.jpg

    dass ich hier im falschen Forum gelandet bin sry, wird nicht wieder vorkommen 😃

    edit: wo könnte jetzt der fehler liegen? Hab das ganze mit codeblocks gemacht ... eigentlich funktioniert auch alles ... aber anscheinend liegt da ein kleines problem vor *_*^^ ansonsten hat jemand vll nen tipp für ein anderes programm um c übungen wie diese zu programmieren??

    gruß
    inselinc



  • In deinem Screenshot ist die Ausgabe des Programms. Schön. Aber der dazugehörige Code fehlt, denn der den du uns eingangs gepostet hast funktioniert einwandfrei.



  • der code im anfangspost erzeugt bei mir diese ausgabe .... darum geht es ja *_*

    bei mir erkennt codeblocks nicht dass x = 1 ist ... sondern fängt bei 0 an ... deswegen ja auch die 6 aus ergebniss.

    jetzt frage ich mich warum nur schleifen nicht funktionieren und der ganze rest schon (also was ich bisher getan habe).

    und da das problem ja anscheinend nicht wirklich bekannt ist , ich ein einzelfall bin , ist die frage was ich jetzt tun soll. wahrscheinich auf eine andere entwicklungsumgebung umsteigen , doch da gibt es ja einige. kann da eine hervorgehoben werden, da sie ziemlich übersichtlich und einfach ist? oder muss ich ein paar durchprobieren ?^^

    grüße



  • Inselinc schrieb:

    Hi,
    hoffe jemand von euch kann mir weiterehelfen. Hab die Aufgabe bekommen ein Programm zu schreiben dass alle ungeraden Zahlen bis N adcdiert. Hab das nicht wirklich hinbekommen dadurch dann die Lösungen genutzt um einen Ansatz zu bekommen. Doch leider scheinen mit die Lösungen aus dem Buch "C - Programmieren vin Anfang an von Helmut Erlenkötter" falsch zu sein (kleiner hinweis).

    nimm einfach n*n, das passt schon, die summe aller ungeraden n zahlen ist n^2
    oder, wenn du die ungerade zahl selber als input nehmen willst, dann mach:

    int x = ... // <--- ungerade zahl
    int summe = (x*x + 2*x + 1)/4  // <-- summe aller ungeraden davor + x
    

    ^^ ganz ohne schleife.
    🙂



  • hilft ihm ja aber nicht generell weiter, hast du schonmal versucht eine ausgabe schleife zu machen? einfach von 1 bis 5 mal ausgeben lassen, hast du auch schon andere zahlen als 5 probiert? was kommt denn da raus?
    Ich kann mit nicht vorstellen das codeblocks das nicht annimmt, jedoch kannst du generell bei normaler Konsolenprogrammierung nicht sonderlich viel falsch machen, man kann sicherlich Visual Studio empfehlen.



  • Siraja schrieb:

    hilft ihm ja aber nicht generell weiter...

    hilft ihm zumindest bei seiner aufgabe weiter. ansonsten sollte er sich von den schnarchnasen-moderatoren hier endlich mal ins C-forum verschieben lassen.
    🙂



  • Inselinc schrieb:

    jetzt frage ich mich warum nur schleifen nicht funktionieren und der ganze rest schon (also was ich bisher getan habe).

    Also ich bin 110%-ig sicher, dass Schleifen auch mit deinem Compiler funktionieren! Probier doch mal das hier aus:

    int main() {
      int i=0;
      for(i=1;i<10;i+=2) {
        printf("%d\n",i);
      }
    }
    

    Was kommt da bei dir raus? Poste bitte mal die Ausgabe.



  • Habe den Code auch getestet.

    1 mal in DEV C++
    1 mal in Visual Studio 2005.

    Code Block läuft bei mir nicht, keine Ahnung warum.

    Aber es kommt immer die 9 als Ergebnis.

    Versuch die Schleife mal so zu schreiben...

    //Deklaration 
    int n,x = 1, summe=0; 
    
    //Berechnung 
    for(;x<=n; x=x+2) 
    {
    	summe=summe+x; 
    }
    

    Schon merkwürdig das ganze....



  • Hallo,

    welchen Compiler nutzt Du denn? CodeBlocks unterstützt ja da einige viele 🙂

    Unter CB und gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8) gibts keine Probleme.

    for(x=1;x<=n; x=x+2)
    {
    sprintf(buff,"%d\n",x);
    printf(buff);
    summe=summe+x;
    }
    //Ausgabe
    printf("\n Die Summe aller ungeraden Zahlen von ");
    printf("1 bis %i ist %i \n",n,summe);
    
    }
    

    bringt also Ausgabe

    Bitte geben Sie den Wert fuer n ein: 5
    1
    3
    5

    Die Summe aller ungeraden Zahlen von 1 bis 5 ist 9

    Gruß
    foodax



  • Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten