美文网首页
分组统计

分组统计

作者: HelloSam | 来源:发表于2020-04-02 14:16 被阅读0次

    #include<iostream>
    #include<set>
    using namespace std;
    
    struct Node
    {
        int num;
        int cls;
    };
    
    int main()
    {
        int m;
        cin >> m;
        set<int> s1; //存数字
        set<int> s2; //存分类
    
        while(m--)
        {
            s1.clear();s2.clear();
            int n;
            cin >> n;
            Node *p = new Node[n];
            for(int i=0;i<n;i++)
            {
                cin >> p[i].num;
                s1.insert(p[i].num);
            }
            for(int i=0;i<n;i++)
            {
                cin >> p[i].cls;
                s2.insert(p[i].cls);
            }
    
            set<int>::iterator it1,it2;
            for(it1 = s2.begin();it1!=s2.end();it1++) //打印分类
            {
                int x = *it1;
                cout << x << "={";
                int flag = 1;
                for(it2 = s1.begin();it2!=s1.end();it2++) //打印数字
                {
                    int count = 0;
                    for(int i=0;i<n;i++)
                    {
                        if(p[i].cls == x && p[i].num == *it2) count++;
                    }
                    cout << *it2 << "=" << count;
                    if(flag < s1.size()) cout <<",";
                    flag++;
                }
                cout << "}" << endl;
            }
        }
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:分组统计

          本文链接:https://www.haomeiwen.com/subject/uldxphtx.html