rekursive funktion
-
Ich habe eine Aufgabe mit folgenden Angaben:
Schreiben sie ein \e rekursive Funktion, die folgende Aufgabenstellung loest:
Hauptprogramm:
- Befuellen eines Feldes feld mit ppsitiven ganzen Zahlen (Abschluss -1, maximale Groesse:50) Der Wert -1 soll allerdings ebenfalls im Feld gespeichert werden, um den Abschluss des Feldes zu verdeutlichen
-Einlesenn einer weiteren positiven ganzen Zahl mit Name StelleRekursive Funktion:
-Zu uebergebende Argumente:feld,stelle,index.(index entspricht dem Index bei dem man sich gerade im Feld befindet->bei Initiallauf ist er 0)-Innerhalb der Funktion sollen nun alle Werte des Feldes ausgegeben werden, bei denen der Index duch die Zahl stelle teilbar ist(z.B. stelle==2, feld[4]==5-> es wird 5 ausgegeben). Die Ausgabe der Feldinhalte muss allerdings mit dem groessten Index beginnen und geht bis zum Index 0
-Zusatz> Die rekursive Funktion soll die Summe der ausgegebenen Zahlen bilden und an die aufrufende Stelle (mainFKT) zurueckgeben!
Bin jetzt soweit, den Zusatz hab ich noch nicht beruecksichtigt, wie gehe ich jetzt weiter vor in meinere Funktion, hab keine Ahnungwie ich ihm die Angabe sage! Kann mir vielleicht irgendwer weiterhelfen?
Hier mein Ansatz:
#include<iostream.h>
void funktion () {
int feld, stelle, index;
if (index%stelle==o)
return feld[]int main ()
{int feld [50];
int stelle,index;
int abschluss = -1cout<< "Geben Sie maximal 50 ganze Zahlen ein! ";
for (int i=0; i<50;i++)
{
cout<< "Geben Sie bitte die Zahl an der Stelle " << i+1 << "ein! "
cin>> feld[i]
if (i=abschluss)
cout<<Bitte beenden Sie Ihre Eingabe!
}
cout<< " Geben Sie ausserdem eine Stelle ein! ";
cin>> stellefunktion(feld,stelle,index)
}
-
Ist eine knifflige Aufgabe, ich wuerd einmal sagen, dass in der main funktion eine while schleife zum durchzehlen fehlt.
Ist hier ein Profi? Ich kann dir leider nicht weiter helfen!
-
int getArrayEntries(int* feld, int stelle, int index) { int wert = 0; if(index%stelle == 0) { wert = feld[index]; cout << wert; } if(index > 0) return wert + getArrayEntries(feld, stelle, index-1); else return wert; }
-
@cheee
Ich hoffe mal in deinem Interesse, dass du kein Troll bist. Aber dein Code hat einen gewissen "findet alle Fehler Charme".Trotzdem hier noch ein paar Tipps:
- achte auf das abschliessende Semikolon hinter jeder Anweisung
- iostream.h -> iostream
- benenne deine Funktionen und Variablen sinnvoll (zB nach Verwendungszweck / Aufgabe) - eine Funktion "funktion" zu nennen ist jedenfalls nicht sinnvoll
- wenn eine Funktion etwas zurückgeben soll, dann muss sie auch einen entsprechenden Rückgabetyp haben