#include<QCoreApplication>#include<QDebug>#include<QTimer>#include<random>#include<iostream>#include<vector>usingnamespace std;
vector<unsigned>good_randVec(){//they are must be set Static because it design for generate same set when doing debugstatic 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;}intmain(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();}