• 締切済み

C言語の感染シュミレーション

300人の人間と蚊30匹がいます、 蚊の中には1匹だけウイルスを持った蚊がおり、その空間内で人間と蚊がランダムに移動しています。 ある一定の距離内に近づくと蚊から人間に感染し、また感染した人間から、蚊に感染する場合もあります。感染する確率はどちらも50%とした場合の感染シュミレーションのプログラムを作っているのですが ごちゃごちゃすぎて頭がパンクしそうです。 よければ詳しく教えてください!

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

そんな不完全な仕様でプログラム作れるのは、大天才か、(理解しないで適当に作る)大馬鹿です。 普通の人なら、もっと詳細まで内容を吟味して、「あとはプログラミング言語で書くだけ」って状態しましょう。 コツは「全部まとめてやろうとしないこと」 メインの流れは、例えば次のようになるでしょう for(最初から終了時間まで) {  人が移動する();  蚊が移動する();  感染判定();  状態出力(); } 簡単ですよね? 「人の移動」を考えます for(人数) {  ある人が移動する(); } 簡単ですよね? 「ある人が移動する」を考えます   その人の位置 = その人の現在値 + 移動した分 簡単ですよね? こんな風にして、問題を分割していけば、案外「簡単」なことばかりなのが、プログラムです。

616161616161
質問者

お礼

分からないけど、なんか得た気がする回答でした。 ありがとうございます!!

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

プログラムにする以前に, 不明確な点がいくつもあることは自覚していますか? 例えば, 「人間と蚊がxy座標上をランダムに動いて」といっても「ランダム」にはいろいろな「ランダム」があるよね. まあ「シュミレーション」って書いてる時点でどうかって気はするんだけど.

回答No.2

質問内容が読み取れないんだけど、何を知りたいの?

616161616161
質問者

補足

人間が300人。 人間のカテゴリーは0健康体1感染者2免疫者で最初は全部0健康体。 蚊が30匹。 蚊のカテゴリーは0ウイルスなし1ウイルスありの2種。最初は30匹のうち1匹のみウイルスあり。 人間と蚊がxy座標上をランダムに動いて、 同じ座標になると50%の確率で蚊から人間に、人間から蚊にウイルスが感染する。 人間は感染すると7日間経つと免疫者になり、もう感染することはないとする。 ある時刻での人間のカテゴリーごとの人数、蚊のカテゴリーごとの人数がわかるようにしたいと考えています。 わかりにくくてすみません。

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

んじゃ、わかっている範囲で整理してみて。 できているプログラムも見たいな。

616161616161
質問者

補足

人間が300人。 人間のカテゴリーは0健康体1感染者2免疫者で最初は全部0健康体。 蚊が30匹。 蚊のカテゴリーは0ウイルスなし1ウイルスありの2種。最初は30匹のうち1匹のみウイルスあり。 人間と蚊がxy座標上をランダムに動いて、 同じ座標になると50%の確率で蚊から人間に、人間から蚊にウイルスが感染する。 人間は感染すると7日間経つと免疫者になり、もう感染することはないとする。 ある時刻での人間のカテゴリーごとの人数、蚊のカテゴリーごとの人数がわかるようにしたいと考えています。 わかりにくくてすみません。

関連するQ&A