私はCで働いており、ジェネレーターを実行するたびに異なる数を生成するだけでなく、プログラムを実行するたびに異なるシーケンスも生成するランダムジェネレーターを(必死に)作成しようとしています.オンラインで見つけたほとんどすべてをテストしました.I良い乱数発生器を作るための 2 つの良い方法が得られました。最初のものは毎回異なるシードを使用することですが、これは毎回異なるランダムシードを使用する必要があることを意味し、最初は解決できませんでした。私が望むようにランダム:
int myrand(int random_seed){
random_seed = random_seed * 1103515245 +12345;
return (unsigned int)(random_seed / 65536) % 32768;
}
関数を呼び出すたびに、シードを 1 増やします。
2 番目の方法は時間を使用することです。時間は変化し、これはランダム性です。私もこれを実装するために多くの方法を試しました。私の最新の試みは次のとおりです: Compiler error-Possible IDE error"undefined reference to gettimeofday error" but I could not gettimeofday 関数は、私が Windows で作業しているためです。また、その質問でも回答が得られませんでした。
Windowsで動作するCで(おそらく時間を使用して)ランダムジェネレーターを実装する方法を誰か助けてもらえますか?それともUnixを使用する必要がありますか?