如果这个问题已经得到回答,只是想开始道歉,只是应该用不同的措辞,所以我找不到它。我已经在这个特殊问题上工作了几个小时,我的 Google Fu 的 atm 可能很弱。
对于我的 c++ 类,我必须创建一个随机数生成器,该生成器从用户那里收集数据以指定数字必须是多少位数以及要创建的兰特数。我可以很好地创建随机数,唯一的问题是数字在任何时候都不能重复,并且我在最后创建的递减 if 循环总是返回 true,我不知道为什么。因此,循环永远不会继续增加 i。如果我没记错的话,第一次尝试时甚至应该不可能有重复的条目,对吧?
void TargetGen::genNumbers()
{
int mod = 0;
int baseMod = 0;
if(Digits != 1)
{
baseMod = pow(10.0,(Digits -1));
}
mod = (pow(10.0,Digits))-baseMod;
for(int i=0;i<Numbers;i++)
{
cout << "front of i loop, value of i: " << i << endl;
int randomTemp;
randomTemp = rand() % mod + baseMod;
targets[i] = randomTemp;
cout << "rand: " << targets[i] << endl;
for(int k = 0;k <= Numbers; k++)
{
if(targets[k] == targets[i])
{
cout << targets[i] << endl;
i--;
}
cout << " k looping, k value: " << k << endl;
cout << " k loop, value of i: " << i << endl;
}
}
}