3

1->から10個の乱数を生成するプログラムを作成するにはどうすればよいRAND_MAXですか?

RAND_MAXユーザーが入力した数値である必要があります。

#include <iostream>
#include <stdlib.h>

int main()
{
    using namespace std;
    int x;
    int y;


    Random:
    {
        x = rand();
        cout << x << endl;
    }

    y = y + 1;
    if (y == 10) {
        return 0;
    }

    goto Random;
}
4

1 に答える 1

5

免責事項:( の上限)がターゲット範囲よりも小さいと定義されてrandいる場合、乱数を完全に均一に生成できない可能性があり、いくつかの問題が発生する可能性があるため、乱数を生成するための迅速で汚い方法です。最新のC++では、 「範囲全体で均一に乱数を生成する」という質問に従って、ヘッダーを使用することをお勧めします。RAND_MAXrand<random>


何かのようなもの:

int main()
{
  int randMax;
  cin >> randMax;
  for (int y = 0; y < 10; y++)
  {
    int x = rand() % randMax; // Range = [0, randMax)
    cout << x+1 << endl; // Range = [1, randMax]
  }
}

ああ、そして避けようとgotoしなさい(少なくとも私の意見では)。ここにそれについての2つの 質問があります。

于 2013-03-01T14:39:37.673 に答える