2025年2月24日月曜日

C ++プログラミングで20から100の間のランダム整数を作り、 それを 横方向で、 *文字を使ってグラフ 表示してください。

 はい、C++で20から100の間のランダムな整数を生成し、*文字を使って横方向にグラフ表示するプログラムを作成します。

C++
#include <iostream>
#include <random>
#include <vector>

int main() {
    // 乱数生成器の初期化
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dist(20, 100);

    // ランダムな整数を格納するベクター
    std::vector<int> randomNumbers;

    // 10個のランダムな整数を生成
    for (int i = 0; i < 10; ++i) {
        randomNumbers.push_back(dist(gen));
    }

    // グラフ表示
    for (int number : randomNumbers) {
        std::cout << number << ": ";
        for (int i = 0; i < number; ++i) {
            std::cout << "*";
        }
        std::cout << std::endl;
    }

    return 0;
}

解説:

  1. ヘッダーファイルのインクルード:

    • iostream: 入出力ストリーム
    • random: 乱数生成
    • vector: 動的配列
  2. 乱数生成器の初期化:

    • std::random_device rd;: 乱数生成のシードを取得
    • std::mt19937 gen(rd());: メルセンヌ・ツイスター法による乱数生成器
    • std::uniform_int_distribution<> dist(20, 100);: 20から100の範囲の一様分布
  3. ランダムな整数の生成と格納:

    • std::vector<int> randomNumbers;: 整数を格納するベクター
    • for (int i = 0; i < 10; ++i): 10個の乱数を生成
    • randomNumbers.push_back(dist(gen));: 乱数をベクターに追加
  4. グラフ表示:

    • for (int number : randomNumbers): ベクターの要素を順に処理
    • std::cout << number << ": ";: 数値を表示
    • for (int i = 0; i < number; ++i): 数値の数だけ*を表示
    • std::cout << std::endl;: 改行

実行結果の例:

55: *******************************************************
82: **********************************************************************************
33: *********************************
91: *********************************************************************************************************
24: ************************
67: ********************************************************************
42: ******************************************
78: ******************************************************************************
29: *****************************
51: ****************************************************

ポイント:

  • std::random_deviceでシードを取得し、std::mt19937で乱数生成器を初期化することで、より予測不可能な乱数を生成できます。
  • std::uniform_int_distributionで乱数の範囲を指定することで、意図した範囲の乱数を生成できます。
  • std::vectorを使うことで、生成した乱数を柔軟に管理できます。

このプログラムを参考に、乱数の数や範囲、グラフの表示形式などを自由にカスタマイズしてみてください。

0 件のコメント:

コメントを投稿