Hallo! Ich möchte gerne ein Programm schreiben was eine Summenfunktion beinhaltet. Das heisst: - Es soll ein Programm entstehen, das die Zahlenfolge 3, 5, 7, 9, 11 als Meldungen ausgibt. Umsetzung: - Das Programm muss eine Funktion „Summe“ enthalten. - Das Programm benötigt drei Variablen vom Typ „INT“ à X, Y, Ergebnis - Zu Beginn dieses Programms sollten diese mit „-1“ initialisiert werden - „Summe“ muss die Summe zweier Ganzzahlen berechnen: o Beispiel Summe(3, 5) liefert 8 o Summe (21, 19) liefert 40 o Summe (-5, 6) liefert 1 - Die Zahlenfolge muss innerhalb einer einfachen For-Schleife (Step = 1) berechnet werden è Erster Durchlauf SchleifenZähler = 1 à Meldung: „Ergebnis: 3“ è Zweiter Durchlauf SchleifenZähler = 2 à Meldung: „Ergebnis: 5“ - Die einzelnen Werte der Folge werden mittels Printf() ausgegeben, ebenfalls innerhalb der Schleife. - Die Werte entstehen als Rückgabewert der Funktion „Summe“ è D.h. bei jedem Durchlauf der Schleife muss der Funktion Summe entsprechende Eingangswerte übergeben werden. - Die Eingangswerte der Funktion „Summe“ müssen daher, vor ihrem Aufruf berechnet werden. - Diese Berechnung der Eingangswerte muss in Abhängigkeit des Schleifenzählers erfolgen. Danke..
:
Verschoben durch Moderator
rot rabbe schrieb: > - Das Programm muss eine Funktion „Summe“ enthalten. Fang mal damit an. Sobald du das hast, gibts die nächste Hilfe :-)
1 | int8_t summe(int8_t x, int8_t y) { |
2 | if(x > 0) { |
3 | return summe(x-1, y) + 1; |
4 | } else if(x < 0) { |
5 | return summe(x+1, y) - 1; |
6 | } else { |
7 | return y; |
8 | }
|
9 | }
|
wenn ich für andere leute aufgaben mache, ohne dass diese eine richtige frage gestellt haben, dann müssen sie auch nachdenken was mein vorschlag bewirkt...
:-) Sei nicht so fies! @rot rabbe sorry. Aber das hier ist keine Nachhilfe in den absoluten Grundlagen. Wenn du in der Schule nicht aufgepasst hast, dann geh zu deinem Lehrer und bitte ihn, das nochmal zu wiederholen oder schau in deinem Lehrbuch nach, wie das mit Funktionen geht.
anonymous schrieb: > int8_t summe(int8_t x, int8_t y) { > if(x > 0) { > return summe(x-1, y) + 1; > } else if(x < 0) { > return summe(x+1, y) - 1; > } else { > return y; > } > } viel zu lesbar
1 | int8_t summe(int8_t x, int8_t y) { |
2 | return x > 0 ? summe(x-1, y) + 1 : x < 0 ? summe(x+1, y) - 1 : y; |
3 | }
|
keine ahnung ob es lauffähig ist.
noch ein paar klammern dazu, dann kann man den witz mit den elefanten-fangenden lisp-programmierern auch für die summenfunktion erzählen ;-)
xxx yyy schrieb: > Hallo! Ich möchte gerne ein Programm schreiben was eine Summenfunktion > beinhaltet. Das heisst: > > - Es soll ein Programm entstehen, das die Zahlenfolge 3, 5, 7, > 9, 11 als Meldungen ausgibt. > Umsetzung: Dein Umsetzung ist viel zu kompliziert. Um Deine Anforderungen zu erfuellen reicht #include <iostream> void main (){ std::cout << " 3, 5 ,7, 9, 11"; }
dumdi dum schrieb: > Um Deine Anforderungen zu > erfuellen reicht > > #include <iostream> > > void main (){ > std::cout << " 3, 5 ,7, 9, 11"; > } Das reicht nur, um die erste Anforderung zu erfüllen. Abgesehen davon ist das Programm falsch.
Rolf Magnus schrieb: > Das reicht nur, um die erste Anforderung zu erfüllen. Abgesehen davon > ist das Programm falsch. wieso? Der Rest steht doch hinter "Umsetzung". Und diese Umsetzung war etwas zu kompliziert für die Aufgabenstellung. Welche weiter Anforderung ist denn in der Aufgabenstellung?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.