大家帮忙看一看 程序闪一下就不见了 不知道错在哪

acdbxzyw 2009-02-24 05:55:22
迷宫程序是从maze[1][1]找出口maze[8][8]
采用递归的方法,好像递归出错了
程序运行时,为什么窗口闪了一下就不见了
DEV-C++调试。
望赐教。

#include<iostream>
using namespace std;

int maze[10][10]={ {0,0,0,0,0,0,0,0,0,0},
{0,1,1,0,1,1,1,0,1,0},
{0,1,1,0,1,1,1,0,1,0},
{0,1,1,1,1,0,0,1,1,0},
{0,1,0,0,0,1,1,1,1,0},
{0,1,1,1,0,1,1,1,1,0},
{0,1,0,1,1,1,0,1,1,0},
{0,1,0,0,0,1,0,0,1,0},
{0,0,1,1,1,1,1,1,2,0},
{0,0,0,0,0,0,0,0,0,0}};

bool search(int *p){
if(p < &maze[0][0] || p > &maze[9][9]) return false;
if(*p == 2) return true;
if(*p == 0) return false;
return search(p-1)+search(p+1)+search(p-10)+search(p+10);
}

int main(void){
int *p = & maze[1][1];
if(search(p)) cout<<"exist exit"<<endl;
else cout<< "not exist exit"<<endl;

system("pause");
}
...全文
116 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
王旺旺旺 2009-02-26
  • 打赏
  • 举报
回复
要停住屏幕,我推荐 cin.get();
八级程序员 2009-02-26
  • 打赏
  • 举报
回复
发个正确地坎卡~呵呵,才鸟
hufeikong 2009-02-26
  • 打赏
  • 举报
回复
acdbxzyw 2009-02-24
  • 打赏
  • 举报
回复
主函数 不是 主程序
acdbxzyw 2009-02-24
  • 打赏
  • 举报
回复
呵呵 我还有一个问题
有什么方法能在搜索到2以后 直接返回主程序,而不是继续搜索其他方向???
acdbxzyw 2009-02-24
  • 打赏
  • 举报
回复
呵呵 谢谢
我懂了 把遍历到的 1 改为 0 就行了
呵呵 加一条语句就行了
谢谢!
matrixcl 2009-02-24
  • 打赏
  • 举报
回复
算法太差了,至少需要保证不走回头路。 否则肯定死循环了
matrixcl 2009-02-24
  • 打赏
  • 举报
回复
死循环,栈溢出
acdbxzyw 2009-02-24
  • 打赏
  • 举报
回复
嗯 做加法
测试通过 能相加。
szqh97 2009-02-24
  • 打赏
  • 举报
回复
return search(p-1)+search(p+1)+search(p-10)+search(p+10)
返回这个是什么意思?bool类型做加法运算?!

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧