ページ 1 / 1
確率にかんして
Posted: 2010年10月20日(水) 13:55
by まあ
1から100までの数字の中から、確率的にではなく、正確に40個の数字を選び出す方法はありますか?
100入る配列aを用意して、aの中に40個1を記入、それ以外は0としたいのですが、方法が分かりません。分かる方がいましたら教えてください。よろしくお願いします。
Re:確率にかんして
Posted: 2010年10月20日(水) 13:59
by へろりくしょん
とりあえず、0~39まで1で埋め、それ以降を0で埋めた後に、シャッフルすればいいのではないかと。
Re:確率にかんして
Posted: 2010年10月20日(水) 14:06
by へろりくしょん
コードにするとこんな感じでしょうか。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i, a[100] = {0};
for(i = 0; i < 40; i++) a = 1;
for(i = 0; i < 100; i++){
int tmp, p = rand() % 100;
tmp = a;
a = a[p];
a[p] = tmp;
}
for(i = 0; i < 100; i++){
printf("%d, ", a);
if(i % 10 == 9) printf("\n");
}
return 0;
}
Re:確率にかんして
Posted: 2010年10月20日(水) 14:14
by まあ
>へろりさん
コードまで書いてくださりありがとうございます!
良く解りました!!