标题:求解这个递归的解决
取消只看楼主
guoyang123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-22
结帖率:0
已结贴  问题点数:20 回复次数:3 
求解这个递归的解决
void display(char (*a)[100],int i, int j, int m, int n,char ch){
    a[i][j] = ch;
    if((i >= 0) && (i < (n-1)) && (a[i+1][j] != '-') && (a[i+1][j] != '+'))
        display(a,i+1,j,m,n,ch);
    if(i > 0 && i < n && (a[i-1][j] != '-' && a[i-1][j] != '+'))
        display(a,i-1,j,m,n,ch);
    if((j >= 0) && (j < (m-1)) && (a[i][j+1] != '|') && (a[i][j+1] != '+'))
        display(a,i,j+1,m,n,ch);
    if(j > 0 && j < m && (a[i][j-1] != '|' && a[i][j-1] != '+'))
        display(a,i,j-1,m,n,ch);
}
搜索更多相关主题的帖子: display 
2016-03-22 12:12
guoyang123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-22
得分:0 
运行的话出现死程序,感觉没有错啊,类似于迷宫的递归
2016-03-22 14:54
guoyang123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-22
得分:0 
就是一个类似于迷宫求解的问题,建立一个二维字符型数组,初始时都是' . '。
划定一个范围,横向用‘-’界定,纵向用‘|’界定,‘-’与‘|’交叉的地方用‘+’界定。
给出一个字符,将所有划定范围之内的.都替换成当前字符
2016-03-22 15:03
guoyang123
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-3-22
得分:0 
void display(char (*a)[100],int i, int j, int m, int n,char ch){
a[i][j] = ch;
if((i >= 0) && (i < (n-1)))
display(a,i+1,j,m,n,ch);
if(i > 0 && i < n )
display(a,i-1,j,m,n,ch);
if((j >= 0) && (j < (m-1)))
display(a,i,j+1,m,n,ch);
if(j > 0 && j < m )
display(a,i,j-1,m,n,ch);
}
2016-03-22 20:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462768-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029499 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved