首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

如何对一个二维数组做遍历,找出里面连续的相同元素

2013-04-20 
怎么对一个二维数组做遍历,找出里面连续的相同元素RT比如现有如下数组int s_color[8][8] {34, 92, 26, 3

怎么对一个二维数组做遍历,找出里面连续的相同元素
RT
比如现有如下数组


int s_color[8][8] = {
34, 92, 26, 34, 93, 10, 34, 39,
10, 10, 10, 10, 15, 15, 39, 93,
15, 26, 26, 93, 93, 39, 10, 15,
26, 34, 39, 15, 39, 34, 34, 26,
34, 39, 39, 34, 52, 26, 10, 10,
26, 34, 10, 15, 52, 52, 15, 39,
93, 15, 26, 26, 15, 39, 93, 93,
34, 52, 93, 10, 93, 10, 39, 26
};

我想要找出连续的元素,比如10 10 10 10 
求指点。。 c 数据结构
[解决办法]

for(i=0;i<n*n-1;i++)
{
for(j=i;i<n*n;j++)
if(s_color[i/n][i%n]!=s_color[j/n][j%n])
break;
if(j!=i+1)
for(k=i;k<j;k++)
printf("%d ",a[k/n][k%n]);
}

[解决办法]
我在想,给数字涂黑白色:

第i和i+1数字不同,则颜色不同,相同,则颜色相同。


最后连续黑色或者连续白色的,就是连续数字
[解决办法]
就直接判断前后两个是否一样就行了。二维数组实际上也是一维的啊。

比如8*8的数组,for(i=;i<62;++i)比较i和i+1
而i和i+1对应数组二维坐标是哪个呢?
i对应的是(i/8, i%8)
i+1同理

热点排行