循环循环的嵌套随机游动 我试图编码一些随机游走算法来执行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)