C++ 在随机二维数组中替换重复项

C++ 在随机二维数组中替换重复项,c++,arrays,random,C++,Arrays,Random,我的类项目遇到了一些问题,基本上我想做的是随机生成对象,到目前为止,这些对象工作得很好,它们是从一个2d数组生成的,该数组存储在合理距离内随机生成的X和Z。我遇到的问题是,由于缺乏重复检测,对象被放置在彼此内部。我需要遍历2d数组,查看是否有X和Y坐标匹配,并将找到的匹配项随机化。对不起,如果这没有太多的意义,我不太擅长解释事情,但也许你可以看看我目前的检测方法,给我一些提示 for (int k = 0; k <= NumofShrooms - 1; k++) { for (in

我的类项目遇到了一些问题,基本上我想做的是随机生成对象,到目前为止,这些对象工作得很好,它们是从一个2d数组生成的,该数组存储在合理距离内随机生成的X和Z。我遇到的问题是,由于缺乏重复检测,对象被放置在彼此内部。我需要遍历2d数组,查看是否有X和Y坐标匹配,并将找到的匹配项随机化。对不起,如果这没有太多的意义,我不太擅长解释事情,但也许你可以看看我目前的检测方法,给我一些提示

for (int k = 0; k <= NumofShrooms - 1; k++)
{
    for (int i = 0; i <= NumofShrooms - 1;)
    {
        if (k == i)
        {
            i++;
        }

        if (SpawnArray[k][2] == SpawnArray[i][2])
        {
            SpawnArray[k][2] = rand() % 16 + 1;
            i = 0;
        }
        else i++;
    }


}

是否存在错误,或者您是否只希望得到关于如何提高检测性能的提示?您是否可以重新措辞澄清放置在彼此内部的对象,我需要随机化任何匹配项?因此基本上我需要它来遍历数组,找到重复项并替换它们,以便放置的每个对象都具有唯一的位置,例如,如果位置[0][1]处的数组与[4][1]相同,则它将生成一个新的随机数并检查是否存在重复项,如果未找到,则将使用所有其他条目检查[1][1]以查找重复项,依此类推。问题是,对象仍然在彼此内部繁殖,任何帮助都将不胜感激,因为我在这一点上被难住了,只是为了澄清对象在[0][1][2]繁殖,1是Z,2是X,因此每个数组条目都有一个子数组,使用X和Z坐标