我有一个简单的程序,它使用以下代码确保另一个程序连续运行 10 次:
for (i = 0; i < 10; i++)
{
system ("shor.exe 15");
}
该程序shor.exe
确实运行了 10 次;问题是该程序是概率性的,因为在第一步中它使用随机数生成器并将其保存在变量“随机”中,但 10 次运行中的每一次都具有相同的变量随机值,所以我猜它不会重置所有变量,而只是在每次运行时使用相同的生成值。
我现在的问题是如何在每次运行之间重置/清除所有变量?
您的程序忘记为随机发生器设置种子。如果确实如此,并且它用于time(NULL)
为随机数设置种子,那么它们都将使用相同的种子进行播种,因为它们都在同一时刻开始:您的 for 循环不会等待每个程序结束,并且随机数通常是确定性的,意味着相同的种子意味着相同的随机数序列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句