0

出来ますか?私はこれに基づいてコードを作成しています: http://cnds.eecs.jacobs-university.de/courses/osn-2004/s3.pdf

私が変更したいのは、コードが nw に挿入したスレッドの数だけを生成するため、east() および west() 関数のスレッドをランダムな方法 (どちらか一方) でランダムな時間に生成することです。 (西に向かうスレッド) 変数と ne (東に向かうスレッド) 変数。私は自分のコードを書いたことがなく、そのコードは別の人によって書かれたので、コードを探していません.ランダム()または私の目標を達成するための別の機能。私はまだこのことについて正しい考えを持っていません。たとえば、nw=3 と ne=2 でプログラムを実行すると、橋を渡っている車とその方向 (最初の 3 つは西へ、次に 2 は東へ) が出力されます。ランダムな車を持って、より現実的にしたいのですが、異なる時間に橋に到着するため、交通警察のように最初に行く車を決定する機能を作成できます。アイデアが明確でなかった場合は申し訳ありません。どんな助けも役に立ちます

4

1 に答える 1

1

コンピュータ サイエンスの世界全体で、「ランダム」概念の特性を再現できるものはありません。同等のものは疑似乱数ジェネレーターです。

Cには、 rand()のような専用の標準とは異なる関数があります。

スレッドに関する部分は、おそらく「スレッドの生成」トピックを参照できます。

ここでは、たとえば、単純な関連コードベースを使用した単純な回答です。

個人的には、この種のアプリケーションでは C++ に切り替える必要があると思います。特に、C++11 の機能に目を向けて、現在の主要なトピックに精通していない場合は特にそうです。

疑似乱数の生成について話すときは、正しく機能するアルゴリズムを使用してコーディングすることが非常に重要です。疑似乱数の動作を再現する際に問題があるため、標準の C 関数は単純に「壊れている」と考えている人が多いです。効果的な方法で。したがって、必要なものによっては、標準の機能では十分ではありません。

于 2013-03-25T21:21:10.133 に答える