C/C++の宿題を片付けます 122代目
■ このスレッドは過去ログ倉庫に格納されています
0376デフォルトの名無しさん
2009/01/21(水) 00:13:13至急お願いします。
C言語です。
1から8192の間の数字を512個重複しないように乱数発生させ、配列に格納したいのですが、以下のプログラムだと重複してしまいます。
どこを直せばよいのでしょうか?
教えて下さい。よろしくお願いします。
a = 0;
n = (int)(rand() / (RAND_MAX+1.0) * 8192.0);
ransu[0] = n;
printf("ransu[0]=%d\n", ransu[0]);
a = 1;
for (i=1; i<=511; i++) {
for (j=0; j<a; j++) {
n1 = (int)(rand() / (RAND_MAX+1.0) * 8192.0);
printf("n1=%d ", n1);
if (ransu[j] != n1) {
ransu[a] = n1;
printf("a=%d ransu[a]=%d\n", a, ransu[a]);
break;
}
else {
continue;
}
}
a++;
}
■ このスレッドは過去ログ倉庫に格納されています