rekursive Funktion durch return aufrufen

sawamin

Grünschnabel
hi Coder,

habe ein Labyrinth in Form eines 2-dimensionales Arrays. Der Weg durch das Labyrinth soll durch eine rekursive Funktion gefunden werden. Diesen Algorithmus habe ich zwar auch noch nicht gefunden, aber darin liegt ja meine Aufgabe!

Meine eigentliches Problem ist die Realisierung, dass sich die rekursive Funktion um den Weg durch das Labyrinth zu finden immer nach betätigen der Return-Taste neu aufruft. Wie realisiere ich das?

Des Weiten Lob ans Team für für Euer Engagement! weiter so!

thx sawamin
 
Hi,
die Frage bitte demnaechst konkreter? Ich versuche groesseren Bereich abzudecken! ;)

Fur "Nach der Return Taste" gibts es Windows-Messages fur MFC-lose Anwendungen,
die heisst WM_KEYDOWN.
Fur MFC-volle Anwendungen: dasseble, durch den Klassen-assistententen erstellst du dann ein Funktion namens OnKeyDown.
Fur Borland gibts Events. Links im Fenster Doppelklick auf OnKeyDown.

oder meinst du doch die rekursive Funktion?
 
sorry, bin Erstsemester! Meine rekursive Funktion schaut, ob das nächste Feld im Array eine Mauer ist oder frei und inkrementiert gegebenfalls die Koordinaten. Das Layrinth soll schrittweise durchlaufen werden. Nach betätigen der Return-Taste jeweils einen Schritt! Leider kann ich in meinem C++-Buch zum Ansprechen der Return-Taste nichts finden! Und Klassen haben wir auch noch nicht! Gibt es nicht eine Möglichkeit, dass sich die rekursive Funktion jeweils nach drücken der Return-Taste immer wieder ausführt?
 
Wenn es eine Windowsanwendung sein soll (mit Messagehandling), dann ist das relativ haarig, weil dann (ganz einfach gesagt, man kann es natürlich umgehen) die WindowProc innerhalb der Rekursion abgearbetiet werden müsste, was allerdings nicht geht.

Mach am besten eine Konsolenanwendung, dann kannst du an beliebigen Stellen innerhalb deiner rekursiven Funktion(en) ein getchar(); platzieren -- das wartet dann schon mal immerhin auf einen Tastendruck und ist im Vergleich zur Windowslösung erstaunlich einfach.

Du kannst dir von getchar() auch einen char zurückgeben lassen und diesen überprüfen, ob Return gedrückt würde, aber versuch es erst mal auf die einfache Weise.
 
Zuletzt bearbeitet:
Was hat Rekursion mit dem Druck der Return-Taste zu tun? Eigentlich nichts, oder?
Lies dir die Frage nochmal durch, ich hab die 2-deutig sehen kÖnnen.
und
Ja ich hab zwar eine deutsche Tastatur, benutze aber gerne die englische Belegung, wegen den sonderzeichen. :( Gehst du immer so hart vor!?

@sawamin: und falls was bei der Rekursion nicht klappt, ruhig fragen!
 
thx an Kachelator, getchar() langt für meine Zwecke erstmal. Die Beispiel.exe von meinem Prof reagiert zwar nur auf Return, dies wird aber in der Aufgabenstellung nicht explizit verlangt!

Wenn alles läuft kann ich die Überprüfung des char Rüchgabewertes, ob Return gedruckt wurde immer noch einfügen
 
Zurück