乱数の生成2.5

1つの // ダイローラー
 2  //は乱数生成デモ
3  
4の#include <iostreamの>
 5の#include <cstdlib>
 6の#include <ctimeの>
 7  
8  使用して 名前空間STDを、
9  
10  のint main()の
 11  {
 12      にsrand(static_castを<符号なし整数 >(時間(0)))。  // 現在の時刻に基づいてシード乱数発生器
13  
14      INT乱数=ランド()。// 乱数生成
15  
16     INTダイ=(乱数%6)+ 1// 1と6の間の数を取得
17      はcout << " あなたはロール" <<ダイ<< ;てendlを
18  
19      戻り 0 ;
20 }

シミュレーションプログラムを投げダイローラー6面体のサイコロ。乱数を生成することによって実行される計算を投げます。

 

 ランド()関数

プログラムは、新しいファイルが含まれます。#include <cstdlib>

Cstdlibファイルには、(とりわけ)乱数生成関数の処理が含まれています。それはファイルが含まれているため、あなたはランドを含め、フリー機能、それらを呼び出すことができます()。

機能は、タスクと返されたブロック値の数を完了することができます。あなたは括弧のペアを追加することにより、関数名の後に関数を呼び出すことができます。関数が値を返す場合、値を変数に割り当てることができます。

ランド()関数は、0と少なくとも32767の間の乱数を生成します。特定の業界では、C ++の実装の使用に依存します。

乱数ジェネレータのシードを決定します

むしろ、真の乱数よりも、数式によって生成されたコンピュータベースの疑似乱数。

コンピュータは本が所定のデジタル数の数が含まれて読み聞かせすることが考え。

常に防ぐ同じ乱数列を生成するには、電子書籍のどこから読み始めるには、コンピュータを伝えることができます。このプロセスは、乱数発生器のシードを決定するために参照されます。

srand関数(static_castを<符号なし整数 >(時間(0)));  // 現在時刻に基づいてシード乱数ジェネレータ

コードのこの行は、現在の日付と時刻に基づいて、乱数発生器のシードを決定します。現在の日付と時刻は、プログラムが実行されるたびに異なるため。

実際、srand関数()関数は、シードが決定される乱数発生器である、unsigned int型の単純値は、シードとして渡されます。

時間(0)戻り値:デジタル現在の日付と時刻に基づいてシステム。

ststic_cast <unsigned int型>が、この値はunsigned int型に変換されます。

おすすめ

転載: www.cnblogs.com/wlyperfect/p/12401005.html