#include <QCoreApplication>
#include<QDebug>
#include<QTimer>
#include<random>
#include<iostream>
#include<vector>
using namespace std;
vector<unsigned> good_randVec()
{
//they are must be set Static because it design for generate same set when doing debug
static default_random_engine e;
static uniform_int_distribution<unsigned> u(0,9);
vector<unsigned> ret;
for(size_t i = 0;i<100;++i)
ret.push_back(u(e));
return ret;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//return unsigned int
default_random_engine e;
cout<<e.max()<<endl;
cout<<e.min()<<endl;
e.seed(2);
for(size_t i = 0;i<10;i++)
{
cout<<e()<<endl;
}
//use int distribution
cout<<"use int distribution class to set the range"<<endl;
uniform_int_distribution<unsigned> u(0,9);
default_random_engine e1;
for(size_t i =0;i<10;i++)
{
cout<<u(e1)<<endl;
}
default_random_engine e4;
normal_distribution<> n (4,1.5); //average = 4 distribution = 1.5
vector<unsigned> vals(9);
for(size_t i=0;i!= 300;i++)
{
unsigned v = lround(n(e4));
if(v<vals.size())
++vals[v];
}
for(size_t j = 0;j<vals.size();++j)
{
cout<<j<<string(vals[j],'*')<<endl;
}
QTimer::singleShot( 0, &a, &QCoreApplication::quit );
return a.exec();
}
C++随机数生成
最新推荐文章于 2024-08-06 16:38:15 发布
本文详细介绍了如何使用C++标准库中的随机数生成器和分布类来创建各种类型的随机数序列。从默认随机引擎的初始化到设置分布范围,再到正态分布的随机数生成,文中提供了丰富的代码示例,展示了不同场景下随机数生成的方法。
1280

被折叠的 条评论
为什么被折叠?



