循环循环的嵌套随机游动 我试图编码一些随机游走算法来执行C++和类盗贼编码,但是我的函数循环永远不做任何事情。“cout
在整个执行过程中只需调用一次循环循环的嵌套随机游动 我试图编码一些随机游走算法来执行C++和类盗贼编码,但是我的函数循环永远不做任何事情。“cout,c++,C++,在整个执行过程中只需调用一次srand(time(NULL));。因此,将其移到函数外部,您可以将其放入main()中,如下所示: // .. int main(void){ srand(time(NULL)); //.. return 0; } // .. int GenerateRandom(int a){ int b; b = rand() % a; return b; } 循环条件 while(StepCount != MaxSt
srand(time(NULL));
。因此,将其移到函数外部,您可以将其放入main()
中,如下所示:
// ..
int main(void){
srand(time(NULL));
//..
return 0;
}
// ..
int GenerateRandom(int a){
int b;
b = rand() % a;
return b;
}
循环条件
while(StepCount != MaxStepCount)
如果在每次循环迭代中步数的增量大于一,则这不是一个好主意
如果你把它换成
while(StepCount < MaxStepCount)
while(步数
它应该终止
考虑使用gdb之类的调试器,而不是使用cin.get()设置断点。调试效率更高,您可以为每个循环询问计数器的值。每次需要随机数时重新给生成器播种不会有好的结果。这会使个体显得相当清醒。您需要检查您的数学。
随机数%4
不会给您提供[1,4]
但是[0,3]
您可以通过学习如何使用调试器逐步调试代码来发现此类错误。有了一个好的调试器,您可以逐行执行程序,并查看程序偏离预期的地方。如果您要进行任何编程,这是一个必不可少的工具。进一步阅读:感谢您的帮助!感谢您的建议E
while(StepCount < MaxStepCount)