| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1035 人关注过本帖
标题:用递归函数计算区域内的格子数量
只看楼主 加入收藏
gogozhen
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-2-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
用递归函数计算区域内的格子数量
题目设定:一个n*n的表格,寻找相邻的有相同的数字的格子。
相邻的2个格子只能是横着,或者竖,不能是斜着的:
图片附件: 游客没有浏览图片的权限,请 登录注册
            
图片附件: 游客没有浏览图片的权限,请 登录注册



从制定的一个各自出发,寻找寻找相邻的有相同的数字的格子,
比如从 tab[6][5] 这个格子出发,运用递归函数计算各自的数量

void zone_recursive(int **tab, int n, int i, int j, int *taille)

i和j是先制定好的坐标,taille最初是1,每找到一个格子,taille+1。

图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 格子 
2016-02-22 01:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:7 
首先整个帖子中没找到“你想问什么”
其次,什么“递归”、“int **tab”就挺令人倒胃口的

我说一种最简单的方法:
标记 a[i][j]=1,其它都是0
循环遍历每一个元素{ 如果它周围有a中标记为1的,且自身值和tab[i][j]相等的,标记为1 } 直到一次遍历后没有任何元素被设置为1
统计a中1的数目
2016-02-22 08:33
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:7 
很显然,你这个函数原型有欠缺:必须给出表格的大小,否则递归无法知道边界,另:如果只需要连成片的相同的数字数量,不需要通过参数传递,通过函数返回即可。
这个递归设计很简单,早期我做围棋设计时还没有用递归也做出来了。

能编个毛线衣吗?
2016-02-22 08:39
蓝色风暴cl
Rank: 8Rank: 8
来 自:新疆
等 级:蝙蝠侠
威 望:3
帖 子:163
专家分:704
注 册:2015-9-6
收藏
得分:7 
凑个热闹。

欢迎大家加好友哦,多找我聊聊吧!
2016-02-22 11:53
gogozhen
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-2-22
收藏
得分:0 
回复 2楼 rjsp
标题就是问题啊:“用递归函数计算区域内的格子数量”
就是红色区域内的格子的数量
不过还是很谢谢回答,我已经做出来了。
2016-02-25 00:28
快速回复:用递归函数计算区域内的格子数量
数据加载中...
 
   



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

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