gpt4 book ai didi

c++ - 将随机数分配给数组并检查重复项

转载 作者:行者123 更新时间:2023-11-30 02:58:23 24 4
gpt4 key购买 nike

我的任务是创建一个包含 100 个元素的数组,并使用 rand () 函数为其分配随机值,并检查数组中是否有重复项。我已经完成了代码并且它运行良好但我不确定它是否实际检查重复项或只是打印未找到的重复项因为我已经运行了很多次但它甚至没有一次显示“找到重复值”

#include <iostream>
using namespace std;
void main ()
{
int array1[100];
for (int a=0; a<100; a++)
{
array1[a]=rand();
cout<<array1[a]<<endl;
}
for(int b=0;b<100;b++)
{
for(int c=b+1;c<100;c++)
{
if(array1[b]==array1[c])
{
cout<<"Array contains duplicates\n";
break;
}
}
}
cout<<"No Duplicates found"<<endl;
}

最佳答案

rand()返回 [0, RAND_MAX) 中的值它们中的两个不太可能仅在 100 个值中相等(RAND_MAX 保证至少为 32k,但可能大得多)。

您应该尝试使用模运算符缩小您生成的可能数字的范围:rand()%MAX_VALUE[0, MAX_VALUE) 中产生一个值.

实际上是通过解释 pidgeonhole principle如果你选择MAX_VALUE < 100您肯定有拷贝。

关于c++ - 将随机数分配给数组并检查重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13674160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com