長さnの配列を全て0に初期化し、その後ランダムにk個の要素を1にする。
長さnの配列を全て0に初期化し、その後ランダムにk個の要素を1にする。
#include<stdlib.h>void randomSelect(int *flag, int n, int k){int i, j, r;srand((unsigned int)time(NULL));for(i = 0; i < n; i++){flag[i] = 0;}for(i = n; i > n - k; i--){r = rand() % i;for(j = 0; !(flag[j] == 0 && r == 0); j++){if(flag[j] == 0) r--;}flag[j] = 1;}}