指定数だけ値をランダムな位置に生成する方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
きんまま

指定数だけ値をランダムな位置に生成する方法

#1

投稿記事 by きんまま » 8年前

0 0 0 0
0 1 0 0
0 3 4 0
0 0 0 3
以下すべて0

というように3600行4列で、基本値は全て0なのですが、指定した数だけ、ランダムなところに、その列以外の数字が指定した確率で入るようにしてこれをテキストファイルに表示させたいです。
n列にはnの値は入らないようにって感じです。
例えば、上の表は指定数が4なのでランダムな4箇所にその列の値以外がはいっています。
他のテキストファイルから持ってこれるデータは、
1000 0 33 34 34
1000 33 0 34 33
1000 33 34 0 33
1000 34 33 0 33
というような感じで、順に、指定数、1になる確率、2になる確率、、、、というような感じです。
4つあるのは、上から順に1列目、2列目というような感じです。その列になる確率は0になってます。
この場合、3600×4個のうちランダムな1000個の場所に、その列以外の数字がだいたい等確率で入るということになります。


このようなプログラムは
どのようにすれば実現できるでしょうか?
わかりにくい文章かもしれませんがよろしくお願いします。

“C言語何でも質問掲示板” へ戻る