• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2分木で作るプログラミングについて)

2分木で作るプログラミングについて

このQ&Aのポイント
  • 2分木を使ったゲームのプログラミングについて紹介します。
  • プログラムの内容は、生き物あてクイズを行いながら2分木を構築します。
  • YESと答えた質問は木の左に、NOと答えた質問は木の右に保存されます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

ではほんの取っ掛かり。 単純な二分木のノード: class node { std::string question_; // 質問 node* yes_; // YES時の選択肢 node* no_; // NO 時の選択肢 public: node(const std::string& q) : question(q), yes_(0), no_(0) {} void add_yes(node* n) { yes_ = n; } void add_no(node* n) { no_ = n; } node* yes() { return yes_; } node* no() { return no_; } std::string question() const { return question_; } ... }; node* p = 最初のノード while ( true ) { std::cout << p->question() << std::endl; YES/NO を入力 if ( YESなら ) p = p->yes(); if ( NOなら ) p = p->no(); if ( p == 0 ) { 降参! 質問をもらって p につなぐ } } ...とかなんとか。

pinoko2003
質問者

お礼

早速のかなり詳しいお返事ありがとうございます。 今まさにとりかかります。 また質問あれば質問します。 とにかくありがとうございます!

その他の回答 (2)

  • Mizyu
  • ベストアンサー率41% (245/593)
回答No.2

で、何がわからないのでしょう? プログラムの文法がわからないのでしょうか? プログラムの実行方法がわからないのでしょうか? アルゴリズム的なことがわからないのでしょうか? 少なくとも、OS、言語、その他動作環境についてなどの情報が必要です。 まずは何がわからないかの切り出しが必要なのではないでしょうか? これでは何も答えようがありません。

pinoko2003
質問者

補足

すみません。 C++です。 2分木の考え方をはじめて知りのプログラミングですが、どのようにツリーをつくればよいかがわからなく まよってます。

回答No.1

何が知りたいのですか? # 'この仕様を満足するコードを書いてくれ' # でしたら お断りします!

pinoko2003
質問者

補足

ツリーの考え方は教科書を読んでわかりました。 しかし、いざ実践するとなると、どのようなツリーを 考えればいいのか、さっぱりわからないのです。

関連するQ&A