これが回答済みで、別の言い方をする必要がある場合は、謝罪を開始したいので、見つけることができませんでした。私はこの特定の問題に数時間取り組んできましたが、Google Fu が弱い可能性があります。
私の 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;
}
}
}