我正在尝试使用view controller
来生成随机数。但是,我发现每次编译时,代码始终给出相同的数字。
这是代码:
rand()
答案 0 :(得分:3)
您可以做的是:#include<time.h>
并在主菜单顶部使用srand
。这将解决此问题,因为它将为生成器指定种子。
// top of main
srand(static_cast<unsigned int>(time(0)));
time(0)
为您提供了自1970年1月1日以来经过的秒数。这提供了一个很好的种子。
如果有时间,请查看<random>
标头here
答案 1 :(得分:2)
每次运行文件时,您都必须播种至少1次更改才能获得随机数:
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(0));
int random = rand();
cout << "Seed = " << time(0) << endl;
cout << "Random number = " << random << endl;
return 0;
}