#include<stdio.h> #include<stdlib.h> #include<time.h> #define NUM 10 int main(void) { int seed,i,n,a[NUM]; int min,max; min = RAND_MAX; max = 0; printf("疑似乱数のシードを入力してください>> %d\n",seed); scanf("%d",&seed); printf("疑似乱数を発生させる回数を入力してください>> %d\n",n); scanf("%d",&n); printf("\n"); srand((unsigned) time(NULL));
for(i=0;i<n;i++) { a[i] = rand();
}
printf("\n");
//最小値を求める// for(i=0;i<n;i++) { if(a[i]<min)
min = a[i]; }
//最大値を求める// for(i=0;i<n;i++) { if(a[i]>max)
max = a[i]; } printf("最小値、最大値、RAND_MAX\n"); printf("%d、%d、%d",min,max,RAND_MAX);
srand((unsigned)time(NULL))→srand((unsigned)seed)
に変更したらビルドは問題ないのですが、実行したら以下のエラーが出ました。
Run-Time Check Failure #3 - The variable'seed'is being used without being initialized. (Press Retry to debug the application)
特に、"The variable'seed'is being used without being initialized." というのは(この程度の英文の意味は分かるよね?)、こういう親切なメッセージが出るとしたら srandのとこじゃなくてその前の(このままでは無意味な)printfのところだろうと思われ。