seyedVB
جمعه 23 آذر 1386, 01:20 صبح
سلام .
من برنامه ای دارم می نویسم که یک ماتریس nxn میگره که خونه اول و آخرش 0 است و بقیه
خونه ها رو کاربر یا 0 یا 1 به دلخواه میذاره که 1 ها همون دیوارند و 0 ها یعنی مسیر بازه .
حالا من اینو با بازگشتی نوشتم فقط نمیدونم چطور باید نشانه گذاری کرد ... هی دچار لوپ میشه ..
private bool Explore(int row, int col)
{
//if Row And Cols Jumped Out Of Matrix
if (row < 0 | col < 0 | row > r | col > c) { return false; }
//if We Taken To Walls
if (Matrix[row,col]==1)
// if We Taken To Goal
if (row==r && col==c) {return true ;}
//Recurison
if (Explore(row - 1, col)) { return true; } //search up
if (Explore(row + 1, col)) { return true; } //search down
if (Explore(row, col - 1)) { return true; } //search left
if (Explore(row, col + 1)) { return true; } //search right
//if None Of Aboves
return false;
}
من برنامه ای دارم می نویسم که یک ماتریس nxn میگره که خونه اول و آخرش 0 است و بقیه
خونه ها رو کاربر یا 0 یا 1 به دلخواه میذاره که 1 ها همون دیوارند و 0 ها یعنی مسیر بازه .
حالا من اینو با بازگشتی نوشتم فقط نمیدونم چطور باید نشانه گذاری کرد ... هی دچار لوپ میشه ..
private bool Explore(int row, int col)
{
//if Row And Cols Jumped Out Of Matrix
if (row < 0 | col < 0 | row > r | col > c) { return false; }
//if We Taken To Walls
if (Matrix[row,col]==1)
// if We Taken To Goal
if (row==r && col==c) {return true ;}
//Recurison
if (Explore(row - 1, col)) { return true; } //search up
if (Explore(row + 1, col)) { return true; } //search down
if (Explore(row, col - 1)) { return true; } //search left
if (Explore(row, col + 1)) { return true; } //search right
//if None Of Aboves
return false;
}