Rekusrionproblem
-
hy
wenn ich ein 2 dimsonales array[8][8] hab und ich würde es mit 1 bis 64 füllen
und ich gib 63 ein dann soll mir die funktion stelle raus finde an in welcher spalte bzw zeile diese zahl stehen soll.Ich hab ein vereinfachte version gemacht. Problem er bachtet return true oder retunr false fall nicht nicht sonder macht weiter. Was ist den falsch ?
#include<conio> #include<iostream> using namespace std; bool stelle(int stell,int zeile,int spalte) { if(stell==zeile+spalte) return true; if(spalte>0) { stelle(stell,zeile,spalte-1); } if(a<65) { stelle(stell,zeile+8,8); } if(zeile+spalte>64) return false } void main() { int c,d; bool erg; cin >> c; erg=stelle(c,0,8); cout << erg; getch(); }
-
Du musst deine rekursiven stelle-Aufrufe auch zurückgeben!

MfG Eisflamme
-
ich find die aufgabe eh ein wenig deplaziert für eine rekursion.
eine iteration würde da auf jeden fall schneller laufen.aber ich weiß, warum du gerade rekursion nehmen willst

Iteration ist menschlich... Rekursion ist göttlich
-
hy
ich habes anderst gelöst
int zeile, spalte;
zeile = stell/8
spalte=stell%8
if(spalte==0)
{
zeile--;
spalte=8;
}