- 締切済み
C言語の感染シュミレーション
300人の人間と蚊30匹がいます、 蚊の中には1匹だけウイルスを持った蚊がおり、その空間内で人間と蚊がランダムに移動しています。 ある一定の距離内に近づくと蚊から人間に感染し、また感染した人間から、蚊に感染する場合もあります。感染する確率はどちらも50%とした場合の感染シュミレーションのプログラムを作っているのですが ごちゃごちゃすぎて頭がパンクしそうです。 よければ詳しく教えてください!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
そんな不完全な仕様でプログラム作れるのは、大天才か、(理解しないで適当に作る)大馬鹿です。 普通の人なら、もっと詳細まで内容を吟味して、「あとはプログラミング言語で書くだけ」って状態しましょう。 コツは「全部まとめてやろうとしないこと」 メインの流れは、例えば次のようになるでしょう for(最初から終了時間まで) { 人が移動する(); 蚊が移動する(); 感染判定(); 状態出力(); } 簡単ですよね? 「人の移動」を考えます for(人数) { ある人が移動する(); } 簡単ですよね? 「ある人が移動する」を考えます その人の位置 = その人の現在値 + 移動した分 簡単ですよね? こんな風にして、問題を分割していけば、案外「簡単」なことばかりなのが、プログラムです。
- Tacosan
- ベストアンサー率23% (3656/15482)
プログラムにする以前に, 不明確な点がいくつもあることは自覚していますか? 例えば, 「人間と蚊がxy座標上をランダムに動いて」といっても「ランダム」にはいろいろな「ランダム」があるよね. まあ「シュミレーション」って書いてる時点でどうかって気はするんだけど.
- Taiyonoshizuku
- ベストアンサー率37% (183/489)
質問内容が読み取れないんだけど、何を知りたいの?
補足
人間が300人。 人間のカテゴリーは0健康体1感染者2免疫者で最初は全部0健康体。 蚊が30匹。 蚊のカテゴリーは0ウイルスなし1ウイルスありの2種。最初は30匹のうち1匹のみウイルスあり。 人間と蚊がxy座標上をランダムに動いて、 同じ座標になると50%の確率で蚊から人間に、人間から蚊にウイルスが感染する。 人間は感染すると7日間経つと免疫者になり、もう感染することはないとする。 ある時刻での人間のカテゴリーごとの人数、蚊のカテゴリーごとの人数がわかるようにしたいと考えています。 わかりにくくてすみません。
- zwi
- ベストアンサー率56% (730/1282)
んじゃ、わかっている範囲で整理してみて。 できているプログラムも見たいな。
補足
人間が300人。 人間のカテゴリーは0健康体1感染者2免疫者で最初は全部0健康体。 蚊が30匹。 蚊のカテゴリーは0ウイルスなし1ウイルスありの2種。最初は30匹のうち1匹のみウイルスあり。 人間と蚊がxy座標上をランダムに動いて、 同じ座標になると50%の確率で蚊から人間に、人間から蚊にウイルスが感染する。 人間は感染すると7日間経つと免疫者になり、もう感染することはないとする。 ある時刻での人間のカテゴリーごとの人数、蚊のカテゴリーごとの人数がわかるようにしたいと考えています。 わかりにくくてすみません。
お礼
分からないけど、なんか得た気がする回答でした。 ありがとうございます!!