Ответы пользователя по тегу Рекурсия
  • Как вывести числа в обратном порядке без использования массивов в с++?

    morozovdenis
    @morozovdenis
    нажмите в студии ctrl+F5, введите например "1 2 3 0" без кавычек и нажмите enter ;)
    #include <iostream>
    
    void foo()
    {
    	int number;
    	cin >> number;
    	if (number != 0)
    	{
                    //фишка в том что:
    		foo(); //сначала выполняется функция 
    		cout << number << " "; // а после уже выполняется вывод
    	}
    }
    
    int main(int argc, char *argv[])
    {
    	foo();
            return 0;
    }


    UPD:
    1. рекурсия использует стек вызовов и глубина рекурсии зависит от размера этого стека
    2. исходя из предыдущего пункта не стоит писать код который выше в продакшене, лучше использовать цикл и массив(или стек) который запрещают
    3. обновил сигнатуру main, это никак не должно повлиять на выполнение программы, но так корректнее

    вот результат:
    43c9f6240b4e4354b5e4e9e6c7114ff8.png
    Ответ написан