Forum: /dev/null c++ summenfunktion


von xxx y. (Firma: zzz) (roterabbe)


Lesenswert?

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
von Peter II (Gast)


Lesenswert?

dann legt los. Oder hast du eine konkrete Frage?

von Floh (Gast)


Lesenswert?

> Danke..
Wo ist die Frage?

von xxx y. (Firma: zzz) (roterabbe)


Lesenswert?

wie geht es denn?

von M4st3r C0d3r (Gast)


Lesenswert?

int i=1;
while(i);
// Berechnen

von Floh (Gast)


Lesenswert?

rot rabbe schrieb:
> -          Das Programm muss eine Funktion „Summe“ enthalten.
Fang mal damit an. Sobald du das hast, gibts die nächste Hilfe :-)

von anonymous (Gast)


Lesenswert?

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...

von Karl H. (kbuchegg)


Lesenswert?

:-)
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.

von Peter II (Gast)


Lesenswert?

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.

von anonymous (Gast)


Lesenswert?

noch ein paar klammern dazu, dann kann man den witz mit den 
elefanten-fangenden lisp-programmierern auch für die summenfunktion 
erzählen ;-)

von Dumdi D. (dumdidum)


Lesenswert?

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";
}

von Rolf M. (rmagnus)


Lesenswert?

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.

von Dumdi D. (dumdidum)


Lesenswert?

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
Noch kein Account? Hier anmelden.