在C ++中比较和查找重复数组

时间:2014-11-10 10:02:44

标签: c++ arrays duplicates

Higuys,我正在研究一个小程序,其部分功能是找到重复数组。

说我在mem[100][4]中存储了一些数字 并且temp[4]中有另外一组4个数字等待存储。

程序检查mem[100][4]中是否有任何相同的集合, 如果不是,则temp[4]集将存储为mem[numR][4]

numR表示mem数组中的总条目数,也是我程序的主要结果。

但输出为0或包含重复。有人知道我的代码有什么问题吗?

 void Cord::checkDup(){
        int j, k, z=0;
        int swap = 0;

        temp[0] = i;
        temp[1] = x;
        temp[2] = y;
        temp[3] = c;

        //Ascending sort
        /* code not shown here*/


        //Check for duplicate
        for (j = 0; j < (numR-1);j++){
                if(
                        (mem[j][0] == temp[0]) &&
                        (mem[j][1] == temp[1]) &&
                        (mem[j][2] == temp[2]) &&
                        (mem[j][3] == temp[3])
                    ){
                        numR--; /* the reason behind this is because I first assumed it is a valid entry and incremented numR by 1 before the checking*/
                        return;

                }else{
                    continue;
                }
        }
        mem[numR - 1][0] = temp[0];
        mem[numR - 1][1] = temp[1];
        mem[numR - 1][2] = temp[2];
        mem[numR - 1][3] = temp[3];


    }

0 个答案:

没有答案