搜索
当前位置: 678彩票官网 > 递归例程 >

高分求写一个C++的递归程序还可以追加!

gecimao 发表于 2019-04-18 14:22 | 查看: | 回复:

  课题22:(85分)程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。

  3) 正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;

  我用了一个二维数组p[a][b]来代表迷宫地图,“0”表示墙壁,“1”表示路,“3”表示终点粮仓。

  现在问题就变成了:在这个二维数组中求到达目标位置的所有路径和最短路径,当然,只能上下左右走。

  我老师建议我创建一个名为infor的结构体,把每一个点的上下左右四个临接点的数据(‘0’还是’1‘)输入进去,然后再包含一个,该节点是否已经被遍历的self信息(为了防止回到自己,走死循环),然后利用递归的思想,再对下一个点的四个临接点进行遍历。求出路径。

  程序只能输出我的初始坐标,(10,10)-。。然后就啥也没有了。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  也就是说,递归函数应该是有返回的。当返回是true的时候,后面的就不需要执行了,因为已经到出口了。否则才需要继续递归。更多追问追答追问能细说下吗。。。我不太明白啊。要返回什么。。我写了递归出口的。您能帮着写一下么?追答你这么想一下,假设第一次调用的时候:

  你会返回回到这里对吧?然后呢?就是继续第二段第三段第四段输出。但是事实上你已经找到出口了呀。第二段,第三段第四段都没有必要了呀。追问哥们,能加QQ么。。帮我写完善一下。。谢谢了。我这边马上就要验收了追答

  后面的三个if都是类似的。然后我没有详细的写输出,你再加上就可以了。应该在每次return true的时候打印。就可以找到最终的路了。

  另外你递归没回溯,很有可能找不到出口追问你好,你说的把输出放前面我已经试过了。。。还是那个结果,只输出了起点。另外,我觉得这样写本身也不太对。。先输出再执行递归,那些没走到目标点的路径是不是也会被输出了。

  递归没有回溯。。是什么意思。递归不就是在函数内部不停调用自身么,再设置一个递归出口。

  展开全部你把迷宫输出来看一下,可能你的迷宫设计的有问题,它一个分支都进不去所以直接输出你的起点然后结束了追问这不可能。。我的迷宫早就设计好了。我自己写的地图,只有右下角的地方是3,其他全是0和1追答重点是有没有路可以到终点,你把整个迷宫的数组输出出来看一下

本文链接:http://windsorflowers.net/diguilicheng/98.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部