输入多组三元数据,判断有多少组是相同的。

输入多组三元数据,判断有多少组是相同的。
例:
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;
} 

如果有用,记得采纳呐