C++乱数


乱数分布クラス、乱数エンジンクラスからなる.
整数と浮動小数点数を生成する乱数について説明します.
ヘッダファイル、使用する乱数エンジンクラスはstd::default_random_Engine、()呼び出し演算子で乱数を返すことができます.簡単な例:
// main.cpp
#include 
#include 
using std::cout;
using std::ends;

int main()
{
    std::default_random_engine e;
    for (int i = 0; i  
  

    , , 。

// main.cpp
#include 
#include 
#include 
using std::cout;
using std::ends;

int main()
{
    std::default_random_engine e(time(nullptr)); //      
    for (int i = 0; i  
  

     , 1 。 e.seed(value) , 。


     uniform_int_distribution, , :

// main.cpp
#include 
#include 
#include 
using std::cout;
using std::ends;

int main()
{
    std::default_random_engine e(time(nullptr)); //      
    std::uniform_int_distribution u(0,9); //           ,   [0,9]
    for (int i = 0; i  
  

     , :

// main.cpp
#include 
#include 
#include 
using std::cout;
using std::ends;
using std::endl;

int func()
{
    std::default_random_engine e; 
    std::uniform_int_distribution u(0,9); //           ,   [0,9]
    for (int i = 0; i  
  

     default_random_engine , , , :

// main.cpp
#include 
#include 
#include 
using std::cout;
using std::ends;
using std::endl;

int func()
{
    static std::default_random_engine e; //          
    std::uniform_int_distribution u(0,9); //           ,   [0,9]
    for (int i = 0; i  
  

    , , , 。


     , double、float 。 , uniform_real_distribution, , , unsigned :

// main.cpp
#include 
#include 
#include 
using std::cout;
using std::ends;
using std::endl;

int func()
{
    static std::default_random_engine e; //          
    std::uniform_real_distribution u(0,1); //            ,   [0,1]
    for (int i = 0; i  
  


     , , 、 , 、 。


     C++11 , 。