Привет, ребята. Мне нужна помощь в понимании моего назначения. Я начинаю с C ++ и не очень много знаю. Я знаю основы стека и последовательности Фибоначчи. Однако я не совсем понимаю проблему, с которой я столкнулся, и мне нужен не код для решения проблемы, а помощь в разъяснении некоторых шагов. Вот как это выглядит:
"Завершив этот проект, вы познакомитесь с использованием рекурсии и созданием ADT в C ++.
Создайте ADT целого стека (вы можете изменить ADS IntStack, предоставленный вам в примечаниях к лекции) так, чтобы он имел максимальную емкость не менее 256 элементов. Также добавьте все, что нужно, чтобы оно распечатывало свое содержимое (слева направо, с верхом стека справа), если оно печатается в o ++ Cstream - например, cout). Этот стек должен быть спроектирован таким образом, чтобы он содержал только значащие значения больше нуля. Значения, меньшие или равные нулю, должны быть напечатаны как '?'.
Напишите рекурсивную реализацию последовательности Фибоначчи, обсуждаемой в классе. Также - создайте экземпляр вашего ADT стека, который сохраняется между вызовами (это не может быть локальная переменная), и на каждом шаге вставляйте в него бессмысленное значение до тех пор, пока значение на этом этапе не будет определено, а затем вытолкните его и нажмите определенное значение и напечатайте весь стек перед возвратом.
Ваша программа должна запросить определение позиции N в последовательности Фибоначчи, а затем вывести результат вызова функции. Пример вывода (включая вывод вашей рекурсивной функции) следующий:
Введите положение в последовательности Фибоначчи, чтобы определить: 5
?-?-?-1
?-?-?-1
?-?-2
?-?-1
?-3
?-?-1
?-?-1
?-2
5
Fibonacci(5) = 5
Что именно здесь выводится? Распечатывает ли стопку, когда вычисляет 5-ю позицию? Также есть идеи о том, как реализовать Фибоначчи в стек в C ++? Должны ли эти значения храниться в массиве, списке или это не имеет значения? Я нуб, поэтому любая помощь будет высоко ценится. Спасибо