Mani Geschrieben 20. November 2003 Geschrieben 20. November 2003 Hallo! Ich möchte gerne ein Programm schreiben was eine Summenfunktion beinhaltet: Das heisst ich gebe einen Startwert ein, zb. 2 und einen Endwert ein z.b 6. und jetzt will ich das das programm 2 +3+4+5+ 6 rechnet ! Das geht doch bestimmt mit einer Zählschleife oder ??? Bitte schnell antworten!!! Daaaanke !
Guybrush Threepwood Geschrieben 20. November 2003 Geschrieben 20. November 2003 Original geschrieben von Mani Das geht doch bestimmt mit einer Zählschleife oder ??? Unter anderem ja. Wie sieht denn dein Ansatz aus?
Mani Geschrieben 20. November 2003 Autor Geschrieben 20. November 2003 Na ja mein Ansatz is bis jetzt nur die zählschleife, eine if bedingung hab ich auch schon drin, das der sw kleiner als der ew sein muss:) wie geht es denn noch????
sunday united Geschrieben 20. November 2003 Geschrieben 20. November 2003 das sollte doch eigentlich reichen. Zählerschleife und die Überprüfung. Mehr solltest Du nicht brauchen, mal abgesehen von einer Ausgabe. greetz
Mani Geschrieben 20. November 2003 Autor Geschrieben 20. November 2003 Ja das hab ich mir auch gedacht, jedoch weis ich nit wie man das realisiert in C
Guybrush Threepwood Geschrieben 20. November 2003 Geschrieben 20. November 2003 Dann solltest du dir am Besten ein Buch oder eBook besorgen und erstmal die C Basics lernen.
sunday united Geschrieben 20. November 2003 Geschrieben 20. November 2003 nun, Du liest also eine Start- und einen Endwert ein. Vergleich: st<ew -> Ja -> weiter sonst Ende. Is klar, ne If - Anweisung. Die Summe der Zahlen ist erst Null. also Summe=0 Dann die Schleife. der Zaehler beginnt mit dem SW. Bei jedem Durchlauf wird die Summe jeweils um den Zeahler erhöht. Der Zaehler wird in jedem Durchlauf um 1 erhöht. Schleife läuft solange, bis der EW erreicht ist. Dann Ausgabe der Summe. Sorry, aber ich wollte jetzt nicht den Quellcode aufschreiben... Das überlasse ich Dir. Aber der Ablauf ist soweit klar ? greetz EDIT: Ist noch einer vor mir gekommen ... Aber stimmt eigentlich. Haste denn überhaupt schon mal mit C programmiert ?
Mani Geschrieben 20. November 2003 Autor Geschrieben 20. November 2003 Ne C is ganz neu für mich! Aber ich werd es jetzt mal versuchen Danke
Mani Geschrieben 20. November 2003 Autor Geschrieben 20. November 2003 #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream> main () { int sw, ew, ergebnis ; printf ("\nDieses Programm berechnet die gesamte Summe eines Anfangswert.\n"); printf ("bis zu einem beliebeigen Endwert\n"); do{ printf ("\nBitte geben Sie einen ganzzahligen, positiven Startwert ein.\n"); scanf ("%i", &sw); printf ("\nBitte geben Sie einen ganzzahligen, positiven Endwert ein.\n"); scanf ("%i", &ew); if (sw >= ew) system ("cls"); printf ("\nDer Endwert muss logischerweise groesser als der Startwert sein!\n"); getch(); system ("cls"); }while (sw >= ew); for (ergebnis = 0; sw <= ew; sw++) { } printf ("Ergebnis %i", ergebnis); }
Mani Geschrieben 20. November 2003 Autor Geschrieben 20. November 2003 So jetzt nur noch die for schleife füllen, und das war eigentlich auch mein problem! Na ja ich glaub ich bin zum programmieren einfach nit geboren
sunday united Geschrieben 20. November 2003 Geschrieben 20. November 2003 nun, die Schleife kann so nix werden. probier mal sowas: int summe=0; for (int zaehler=sw; zaehler>=ew; zeahler++) { summe+=zaehler; } greetz
nic_power Geschrieben 20. November 2003 Geschrieben 20. November 2003 Hallo, das geht auch einfacher, da Du hier die Gauss-Methode einsetzen kannst: http://www.linux-related.de/coding/alg_gauss.htm Nic
MasterC Geschrieben 24. November 2003 Geschrieben 24. November 2003 Vor allem gehts mit der Gauss-Methode deutlich schneller, wenn sehr viele Zahlen addiert werden sollen!
CrazyRay Geschrieben 24. November 2003 Geschrieben 24. November 2003 Original geschrieben von sunday united nun, die Schleife kann so nix werden. probier mal sowas: int summe=0; for (int zaehler=sw; zaehler>=ew; zeahler++) { summe+=zaehler; } greetz so kann die Schleife aber auch nichts werden.... es muss heißen zaehler <= ew MfG Roman
MasterC Geschrieben 25. November 2003 Geschrieben 25. November 2003 Bitte schön int summe = 0; summe = ((UG + OG)/2)*(UG - OG) Geht viel schneller als ne Zählschleife!
MasterC Geschrieben 25. November 2003 Geschrieben 25. November 2003 UG = untere Grenze OG = obere Grenze Hatte ich vergessen
sunday united Geschrieben 26. November 2003 Geschrieben 26. November 2003 Original geschrieben von CrazyRay so kann die Schleife aber auch nichts werden.... es muss heißen zaehler <= ew MfG Roman Es handelt sich zwar "nur" um einen Tippfehler, aber dennoch hast Du natürlich recht, Roman. Danke für den Hinweis. greetz
Klotzkopp Geschrieben 26. November 2003 Geschrieben 26. November 2003 Original geschrieben von MasterC summe = ((UG + OG)/2)*(UG - OG) Ausprobiert hast du das aber nicht summe = ((UG + OG)/2)*(OG - UG + 1)
Master Z Geschrieben 27. November 2003 Geschrieben 27. November 2003 Hi hab mal versucht dein Problem zu lösen! Vielleicht kann ich dir damit weiterhelfen! ------------------------------------------------------------------------------------------------------ #include <stdio.h> void main (void) { int zahl1,zahl2; int i=1; printf("Bitte geben sie den Startwert ein!"); scanf("%i",&zahl1); printf("Bitte geben sie den Stoppwert ein!"); scanf("%i",&zahl2); fflush(stdin); for(i=zahl1;i<=zahl2;i++) { if(i==zahl2) { printf("%i",i); } else { printf("%i,",i); } } fflush (stdin); getchar (); return 0; } ------------------------------------------------------------------------------------------------------- Ich hoffe der Quelltext stimmt!Bei mir funzt es! Mfg Red Cap
nic_power Geschrieben 27. November 2003 Geschrieben 27. November 2003 Hallo, ehrlich gesagt, kann ich nicht nachvollziehen was Dein Programm mit der Fragestellung zu tun hat. Es gibt die Zahlen zwischen "zahl1" und "zahl2" auf dem Bildschirm auf (die if-Abfrage ist überflüssig, da der "if" und "else" Fall identisch sind). Ein paar generelle Anmerkungen noch zum Code: "main" liefert _immer_ ein int zurück, ein flush auf "stdin" liefert nicht definierbare Ergebnisse. Nic
Master Z Geschrieben 27. November 2003 Geschrieben 27. November 2003 Sorry dann hab ich es falsch verstanden!Tut mir sorry! Bin im Programmieren noch ein Anfänger! Sorry! Kannst du vielleicht meine Frage im forum beantworten? (Programm)
Timon Geschrieben 3. Dezember 2003 Geschrieben 3. Dezember 2003 Ein paar generelle Anmerkungen noch zum Code: "main" liefert _immer_ ein int zurück Ich würde hierzu gerne nocheinmal darauf verweisen, dass der Standard (ISO/IEC 9899:1999) dies fuer sogenannte "Freestanding Environments" _nicht_ zwingend vorschreibt. Auszug: ... In a freestanding environment (in which C program execution may take place without any benefit of an operating system), the name and type of the function called at program startup are implementation-defined... Nachzulesen in ISO/IEC 9899:1999 Kapitel 5.1.2 "Execution Environments"
nic_power Geschrieben 3. Dezember 2003 Geschrieben 3. Dezember 2003 Hallo, das ist zwar richtig, aber wohl eher theoretischer Natur, da üblicherweise in einem Hosted Environment mit Betriebssystemunterstützung gearbeitet wird. Bei Freestanding Environments existieren noch Reihe weiterer Unterschiede insbesondere in Bezug auf die Kommunikation mit dem Betriebssystem (Programmtermination, File IO, Umgebungsvariablen, etc.). Wenn ich mich richtig entsinne, gabs da auch im Annex eine entsprechende Liste. Nic
Timon Geschrieben 9. Dezember 2003 Geschrieben 9. Dezember 2003 Hallo, ich muss nochmal meinen Senf dazugeben. 1. Ich wuerde die Zahl der "freestanding environments" nicht unterschätzen. (Waschmaschinen wollen auch programmiert werden ) 2. freestanding environments kommunizieren nicht mit einem OS, weil es normal keines gibt. (Oder ein RTOS ist direkt in das Programm integriert) 3. Der von dir angesprochene Zusatz lässt sich hauptsächlich über Systeminitilisierung und Libraries aus.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden