输入多组三元数据,判断有多少组是相同的。
例:
3//输入三组数据
1 2 6
2 1 6
1 2 6
2//有两组相同
顺序不同也认为是不同的
c++ stl set 可以去重数组,
或者你就存一下,挨边比较然后计数。
显然是三重for循环,不过需要一个数组用来判断这个数据是否相同过了
#include <stdio.h>
int main()
{
int n;//几组
int a[105][105];//存放数据
int flag[105]={0};//判断这一组是否相同过了
int num = 0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=1;i<=n;i++)
{
if(flag[i])
{
continue;
}
for(int j=i+1;j<=n;j++)
{
int f1 = 1;
if(flag[j])
{
continue;
}
for(int k=1;k<=3;k++)
{
if(a[i][k]!=a[j][k])
{
f1 = 0;
break;
}
}
if(f1)
{
if(!flag[i])
{
flag[i] = 1;
num++;
}
num++;
flag[j] = 1;
}
}
}
printf("%d\n",num);
return 0;
}
如果有用,记得采纳呐