0

可能吗?我的代码基于这个: http ://cnds.eecs.jacobs-university.de/courses/osn-2004/s3.pdf

我想改变的是我想以随机方式(一种或另一种)和随机时间生成east()和west()函数线程,因为代码只生成你在nw上插入的线程数主函数中的(向西的线程)和 ne(向东的线程)变量。我不是在寻找任何代码,因为我还没有编写我的代码并且该代码是由另一个人编写的,我只是想知道如何使用 random()或实现我的目标的其他功能。我对这件事仍然没有正确的想法。例如,如果您使用 nw=3 和 ne=2 运行程序,它将打印出哪些汽车正在过桥以及朝哪个方向(前 3 辆向西,然后 2 辆向东)。我希望它更真实,有随机的汽车,在不同的时间到达桥,所以我可以像交警一样做一个决定哪辆车先走的函数。对不起,如果我不清楚这些想法。任何帮助都会很有用

4

1 回答 1

1

在整个计算机科学世界中,没有任何东西可以复制“随机”概念的属性。等效的东西是伪随机数生成器。

在 C 语言中,有与rand()等专用标准不同的函数。

关于线程的部分,大概可以参考“线程生成”这个话题。

这是一个简单的答案,例如一个简单的相关代码库。

我个人认为,对于此类应用程序,您应该切换到 C++,特别是如果您甚至不熟悉您所从事的主要主题,尤其是对 C++11 特性的看法。

请注意,在谈论伪随机数生成时,使用和编码可以正确完成工作的算法非常重要,许多人认为标准中的 C 函数只是“损坏”,因为在重现伪随机行为方面存在问题以有效的方式。因此,根据您的需要,标准中的功能还不够。

于 2013-03-25T21:21:10.133 回答