正如标题所示,我试图找出一种使用新的C++ 11 <random>
库生成随机数的方法.我用这段代码尝试过:
std::default_random_engine generator;
std::uniform_real_distribution<double> uniform_distance(1, 10.001);
Run Code Online (Sandbox Code Playgroud)
我的代码的问题是,每次编译和运行它时,它总是生成相同的数字.所以我的问题是随机库中的其他函数可以在真正随机的情况下实现这一点吗?
对于我的特定用例,我试图获得该范围内的值 [1, 10]
我有一个向量,我正在尝试填充随机数.我一直遇到一个问题,但是每次我运行它时,向量大多输出0(它不应该输出0).我在下面编写的代码中做错了什么使它输出0(它输出0比任何其他数字更多):
vector<int> myVector;
srand((unsigned)time(NULL));
int a = rand() % 20 + 1; //1 to 20
for (int i =0; i < a; i++){
int b = rand() % 20 + 1;
myVector.push_back(b);
cout << myVector[b] << endl;
}
Run Code Online (Sandbox Code Playgroud)
我是初学者,很长一段时间没有做太多的C++编程,所以我不确定是什么让我的代码出现故障.如果有人能解释我做错了什么,我将不胜感激.