gpt4 book ai didi

c++ - 指示方向的迷宫解算器

转载 作者:行者123 更新时间:2023-11-28 02:18:02 24 4
gpt4 key购买 nike

我想用符号“>”、“<”、“v”、“^”显示路径的方向。然而,符号在第一个转折点就停止显示。我的代码有什么问题?

bool find_path_with_direction(int row, int col, char maze[ROW][COL])

{
if(row > ROW-1 || col > COL-1) //out of boundary
return false;

if(maze[row][col]=='d') // destination
return true;

if(maze[row][col]!= ' '&& maze[row][col]!= 's') //obstacle
return false;


if(find_path_with_direction(row, col+1, maze)==true)
maze[row][col]= '>';
return true;

if(find_path_with_direction(row, col-1, maze)==true)
maze[row][col]= '<';
return true;

if(find_path_with_direction(row+1, col, maze)==true)
maze[row][col]= 'v';
return true;

if(find_path_with_direction(row-1, col, maze)==true)
maze[row][col]= '^';
return true;

maze[row][col]=' ';

return false;
}

最佳答案

您的 if 条件有问题。

您没有使用 {} 这会产生问题。

使用左括号和右括号{ }
例如,这样写你的 if 条件。

if(find_path_with_direction(row, col+1, maze)==true)
{
maze[row][col]= '>';
return true;
}

如果您正在编写这样的代码。

if(find_path_with_direction(row, col+1, maze)==true)
maze[row][col]= '>';
return true;

这里,无论条件是true还是falsereturn true;都会被执行。

关于c++ - 指示方向的迷宫解算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33430942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com