我有一個循環產生隨機數。我想比較當前迭代中生成的隨機數與所有先前迭代中生成的隨機數,以及兩個隨機數之間匹配時的隨機數。 這是我到目前爲止,但它只比較當前隨機數和它之前生成的隨機數。C - 比較一個數組中的元素與以前的所有元素
for (i = 0; i < SIZE; ++i)
{
a[i] = (100*(1 + rand() % 12)) + (1 + rand() % 30);
for (j = i - 1; j < SIZE; ++j)
{
if (a[i] != a[j])
{
printf("Person %i - %i\n", i, a[i]);
}
else break;
}
}
您是否考慮在生成這些數字時保持數組排序? – hbagdi
它看起來像生成的數字是在一個小範圍內。您是否考慮過使用HashMap或者可能是一個位數組來跟蹤到目前爲止生成的隨機數字? – hbagdi
@hbagdi如何幫助?我只是一個初學者,我覺得這樣會不必要地使事情複雜化。 –