C++11 ランダムライブラリ乱数
2022-02-14 04:31:30
ランダム乱数生成
次のコードは、c++11 の random ライブラリを使用した乱数生成のデモです。
#include
#include
using namespace std;
int main()
{
std::mt19937 rng;
rng.seed(std::random_device()());
std::uniform_int_distribution<std::mt19937::result_type> dist6(1, 6);
std::cout << dist6(rng) << std::endl;
std::uniform_real_distribution<double> distribution(-1, 1);
std::cout << distribution(rng) << std::endl;
return 0;
}
ランダムシードの初期化
std::mt19937 rng;
rng.seed(std::random_device()());
区間[1, 6]にある定形数字を等確率で(ランダムに)生成する一様分布を作成しなさい。
std::uniform_int_distribution::mt19937::result_type> dist6(1, 6);
また、直接次のように書くこともできます。
std::uniform_int_distribution
dist6(1, 6);
(-1, 1)の間の小数をランダムに(等確率で)生成する一様分布を作成します。
std::uniform_real_distribution
distribution(-1, 1);
詳しくは参考リンク先をご覧ください
参考リンク
関連
-
error: 'vector' does not name a type
-
C++-コラムフィッティングフィットシリンダー
-
C++プリントベクター
-
C++ 文字列における c_str(), data(), copy(p,n) 関数の使用法
-
gcc/g++ コンパイル時のエラー解析で期待される型指定子の前に
-
C++のコンパイルエラーで修飾子が破棄される [-fpermissive] 。
-
ISO C++ではポインタと整数の比較は禁止されています[-fpermissive]。
-
gccコンパイルエラーの一覧
-
文字列がこのスコープで宣言されていない 問題の解決
-
C++ inet_pton, inet_ntop 関数
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
c++ プログラミング プロンプトの関数定義はここでは許可されません。
-
コンパイルエラー: 制御が非ボイド関数の末尾に達する可能性がある
-
デバッグアサーションに失敗した」場合の解決策の一つ(着想)
-
エラー: "***"の前にイニシャライザーがあります。
-
C++] error: 'const xxx' を 'this' 引数として渡すと修飾子が破棄される [-fpermissive] [C++] error: 'const xxx' を 'this' 引数として渡すと修飾子が破棄される。
-
警告:組み込み関数 'malloc' の互換性のない暗黙の宣言を修正する方法
-
c++のエラー: エラーC2601: 'main' : ローカル関数定義が不正
-
"エラー:不完全なクラス型へのポインタは許可されません。"の前方宣言。
-
stoi' の解決策は、Dev-c++ のこのスコープで宣言されていません。
-
C++テンプレートテンプレート使用法まとめ