Satz Rückwärts ausgeben mit Rekursion

Neue Frage »

Auf diesen Beitrag antworten »
NewInformatiker95 Satz Rückwärts ausgeben mit Rekursion

Guten Tag zusammen,
ich hoffe ihr könnt mir helfen...

Ich habe die Aufgabe :
Schreibe ein Programm, das vom Benutzer eine Zeile einliest und sie anschließend rückwärts ausgibt.
Benutzen sie eine rekursive Funktion.
Sie dürfen dabei nur Funktionen, Zeiger , Kontrollstrukturen , printf , scanf benutzen Also KEINE Strings / Felder.

Hinweis: Benutzereingabe wird durch die Enter-Taste beendet, das entsprechende Zeichen ist '\n'.

Programm könnte so ablaufen: (Nur ein BSP kann jeder andere beliebige Satz sein)(Code muss also variabel reagieren)

Geben sie einen Satz ein:
Alle meine Entchen schwimmen auf dem See.
.eeS med fua nemmiwhcs nehctnE eniem ellA

code:
1:
2:
3:
4:
5:
int main ()
{
printf("Geben Sie einen Satz ein:\n");
return 0;
} 


Habe keine Ahnung wie ich einen Satz ohne strings und arrays einlesen kann....
Mit Arrays wäre es einfacher.

Ps bin eigentlich Mathestudent muss aber Info 1 ... Einführung in C machen

Mfg NewInformatiker95
 
Auf diesen Beitrag antworten »
as_string

Hallo!

Idee:
  1. Lese ein Zeichen ein.
  2. Rufe eine Funktion mit diesem Zeichen als Argument auf
  3. In der Funktion: Wenn das Zeichen dem Eingabe-Ende-Zeichen entspricht (also eventuell Zeilenumbruch?), kehre aus der Funktion direkt zurück
  4. Sonst: Lese ein weiteres Zeichen ein
  5. Rufe mit dem neuen Zeichen dieselbe Funktion rekursiv auf
  6. Gebe das Zeichen nach dem Funktionsaufruf aus.


Kannst Du das mal probieren? Wenn was nicht funktioniert: Einfach nochmal schreiben, was Du schon hast.

Gruß
Marco
Auf diesen Beitrag antworten »
RomanGa

Hallo NewInformatiker, da ich in C grad im Moment nicht fit bin, schreibe ich dir hier ein Python Programm mit rekursiver Funktion. Das kannst du auf deinen Fall anpassen.

Programm:

# Rekursiv aufgerufene Funktion:

def zahl_einlesen():
____zahl = input("Bitte gib eine Zahl ein: ")
____if zahl <> 0:
________zahl_einlesen()
________print(zahl)

print("Das Programm startet.")
zahl_einlesen()

Sorry, die Einrückungen werden nicht angezeigt. Ich musste sie durch Unterstriche ersetzen.

Output:

Das Programm startet.
Bitte gib eine Zahl ein: 4
Bitte gib eine Zahl ein: 66
Bitte gib eine Zahl ein: 900
Bitte gib eine Zahl ein: 0
900
66
4
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »