やあみんな。hw の割り当てを理解するのに助けが必要です。私はC ++で始めていますが、あまり知りません。スタックとフィボナッチ数列の基本は知っています。ただし、与えられた問題を正確に理解していないため、問題を解決するためのコードは必要ありませんが、いくつかの手順を明確にするのに役立ちます。ハードウェアは次のとおりです。
「このプロジェクトを完了すると、再帰の使用と C++ での ADT の作成に慣れることができます。
少なくとも 256 要素の最大容量を持つ整数スタック ADT を作成します (レクチャー ノートで指定された IntStack ADT を変更できます)。また、C++ ostream (cout など) に出力される場合は、その内容 (左から右、スタックの一番上が右側) が出力されるように、必要なものをすべて追加します。このスタックは、ゼロより大きい意味のある値のみを保持するように設計する必要があります。ゼロ以下の値は「?」として出力する必要があります。
クラスで説明したフィボナッチ数列の再帰的な実装を書きます。また、呼び出し間で持続するスタック ADT のインスタンスを作成し (ローカル変数にすることはできません)、各ステップで、その段階で値が決定されるまで意味のない値をプッシュし、ポップオフします。 、決定された値をプッシュし、戻る前にスタック全体を出力します。
プログラムは、フィボナッチ数列の位置 N を決定するように要求し、関数呼び出しの結果を出力する必要があります。出力例 (再帰関数からの出力を含む) は次のとおりです。
決定するフィボナッチ数列の位置を入力してください: 5
?-?-?-1
?-?-?-1
?-?-2
?-?-1
?-3
?-?-1
?-?-1
?-2
5
Fibonacci(5) = 5
ここでの出力は正確には何ですか?5番目の位置を計算するときにスタックを出力していますか? また、フィボナッチを C++ のスタックに実装する方法についてのアイデアはありますか? これらの値は、配列、リスト、または問題ではないに格納する必要がありますか? 私は初心者なので、どんな助けでも大歓迎です。ありがとう