设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1324|回复: 1
打印 上一主题 下一主题

[求助]求教一个二维数组的问题。

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-5 00:28:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
给出一个二维数组,行与行中的元素相等的分为一类,要怎样才能算出他们为几类?
比如:
5行4列数组:
3 5 6 8
9 6 4 8
3 5 6 8
4 8 2 7
4 8 2 7
2#
发表于 2009-11-5 00:28:01 | 只看该作者
bool compare(int A[],int B[],int size){
for (int i = 0;i < size ; ++ i)
if (A[i] != B[i])
return 0;
return 1;
}

int main(){
const int row = 7;
const int size = 4;
int count = 0;
int A[row][size] = {{3,3,6,8},{3,3,6,8},{4,3,6,8},{4,3,6,8},
{3,3,6,2},{3,3,6,8},{3,3,6,2}};
for (int i = 0;i < row; ++i){
bool YorN = 1;
for (int check = i;check >= 0;--check){
if (i == 0)
break;
if(compare(A[i],A[check-1],size)){
YorN = 0;
break;
}
}
if (YorN){
for (int j = 0;j < row; ++j){
if (i != j){
if (compare(A[i],A[j],size)){
count++;
break;
}
}
}
}
}
cout << count << endl;
return 0;
}

输出的 count 即为有几类!

总觉得代码太烦琐,希望有人有更好的方法!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 07:25 , Processed in 0.079716 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表