- 締切済み
アルゴリズムが分かりません。
VB2005を使用して、研究をしている学生です。 平均値をn、各データの上限をhとして、 データd[i]をランダムにばらつかせるプログラムを考えています。 n,h,i(定数)、d(配列変数) 例えば、平均値=10、上限=15、データ数=3のとき、 d[1]=9、d[2]=7、d[3]=14 が出力されるような感じです。 稚拙な文章で申し訳ありません。 方法論、具体的なプログラム例、いずれでも構いませんので、 ご回答よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- shut0325
- ベストアンサー率40% (490/1207)
回答No.1
つまり 配列d[i]の合計がデータ数×平均値にならないといけないということでしょうか? また、数値の範囲は0以上h以下の整数ですか? そうであるならば、一番最初の値以外ランダムではなく、単純な引き算でしか導き出せなくなる可能性がありますが、それでもよいのですか? また、次のようなケースはばらつかせるも何も、、ということになるかと思います。その辺はどう処理するのでしょう? 平均値=10 上限=10 データ数=3 ・全て10でしか成り立ちません。 平均値=15 上限=10 データ数=2 ・成り立ちません。 平均値=10 上限=30 データ数=3 ・最初に30を引いたら後は0になる。 その辺をクリアにすればシンプルなものだとおもいますが。 ところで何にこれを使われるのでしょう??
お礼
早速ご返答いただいて申し訳ないのですが、解決致しました。 用途は、聴覚関係の研究でのサンプルデータの音の大きさをバラつかせることです。 ご回答ありがとうございました。