- 締切済み
ランダムのプログラムについて質問です.
今,画像を4種類のうち1種類表示させるプログラムを作っています. 1種類につき各5回,全部で20回ランダムに表示させるのですがランダムに表示させてしまうと各種類の表示回数にバラつきが出てしまい困っています. 各画像を均等に5回づつ表示させたいのですが,うまくいきません. よろしくお願いします. ちなみに言語はc++を使っています.
- みんなの回答 (5)
- 専門家の回答
みんなの回答
noname#137556
回答No.5
C++ なら std::random_shuffle で楽チン。
- maru_yoshi_
- ベストアンサー率39% (17/43)
回答No.4
ランダムだからこそバラツキがあるんですけどね。 どうしても均等にしたいのであれば、4×5=20回分の表示順番を用意しておいて、それを乱数を使ってシャッフルしたらどうですかね。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.3
1 から 4 までの数値を 5個ずつ持つ配列を作ってランダムにシャッフル.
- rinkun
- ベストアンサー率44% (706/1571)
回答No.2
1から20の数値に表示させる画像を割り当てる。 20個の配列に1から20の数値を並べる。 この配列をランダムにかき混ぜる。 配列の先頭から数値を取り、対応する画像を表示する。 これで画像をランダムに、各5回づつ表示できます。 なお、同じ画像を連続して表示させないなど要件があればもう少し複雑になります。
- Kensyusei
- ベストアンサー率30% (25/81)
回答No.1
4種類の画像それぞれの表示回数を変数に保持し、5回表示された画像は表示されない作りにしてはいかがでしょうか。