【发布时间】:2013-11-07 13:43:25
【问题描述】:
我正在写一个抽奖申请。我有一个名为 generateLotteryNumbers 的函数,它接收一个数组并用 5 个随机数填充该数组。我想要做的是让这个函数在每次调用这个函数时产生一组不同的随机数。
void generateLotteryNumbers(int lotteryNumbers[])
{
srand (time(NULL));
const int arraySize = 5;
int index = 0;
while (index < arraySize)
{
lotteryNumbers[index] = rand() % 50 + 1;
cout << lotteryNumbers[index] << endl;
index++;
}
}
此刻的输出是eg:
5
24
45
26
47
重复两次。
【问题讨论】:
-
您可以查看c++11 <random> 功能,这些功能提供了更好的伪随机数生成器(例如 Mersenne Twister),以及一个
random_device接口,可用于为生成器播种硬件熵源。