000
03.09.2003, 00:32 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
Mit Hilfe der Lösung aus dem Labyrinth erstellen ist nun folgende Funktion zu schreiben
C++: |
void path_finder(int xdim,int ydim, int** &lab);
|
hier soll ne tiefensuche implementiert werden, bei der von nördlichen Eingang aus der Weg zum südlichen Ausgang gefunden wird.
Auf den aktuellen Weg sollen im Lab immer 3en gespeichert werden. Auf Felder die als nicht legale Wege erkannt wurden sollen 2en (also beim Backtracking) geschrieben werden
C++: |
void plotLab(int xdim,int ydim, int** lab){
printf("\n"); for(int j=0;j<ydim;j++){ for(int i=0;i<xdim;i++){ // printf("%d",lab[i][j]); if(lab[i][j]==0)printf("#"); //Mauern if(lab[i][j]==1)printf("+"); //mögliche Wegfelder if(lab[i][j]==2)printf("x"); //falsche Wegfelder if(lab[i][j]==3)printf("."); //aktueller Weg } printf("\n"); } printf("\n\n"); }
int main(){
int i,**labyrinth; int xdim=15; int ydim=11;
srand(time(NULL));
createLab(0,0,xdim,ydim,labyrinth);
plotLab(xdim,ydim,labyrinth);
path_finder(xdim,ydim,labyrinth);
plotLab(xdim,ydim,labyrinth);
for(i=0;i<xdim;i++) delete [] labyrinth[ i ]; delete [] labyrinth;
}
|
-- ...fleißig wie zwei Weißbrote Dieser Post wurde am 03.09.2003 um 00:33 Uhr von Windalf editiert. |