Як вивести числа в зворотному порядку без використання масивів в с
- C ++
- алгоритми
- рекурсія
Допоможіть будь ласка вирішити, а головне зрозуміти як вирішити дане завдання:
На стандартний вхід програмі подається послідовність розділених пробілами позитивних цілих чисел, що закінчується нулем. Потрібно вивести цю ж послідовність у зворотному порядку (без нуля), розділяючи числа пробілами. При цьому забороняється використовувати масиви (навіть якщо ви з ними вже знайомі). (Підказка: скористайтеся рекурсією).
Sample Input:
Для початку я вирішив спробувати реалізувати хоча б висновок чисел в заданому порядку. Вийшло тільки так:
але ось куди далі плесать і як всунути сюди рекурсию взагалі зрозуміти не можу (Коли вставляю рекурсию майже завжди відбувається помилка сегментування.
натисніть в студії ctrl + F5, введіть наприклад "1 2 3 0" без лапок і натисніть enter;)
UPD:
1. рекурсія використовує стек викликів і глибина рекурсії залежить від розміру цього стека
2. виходячи з попереднього пункту не варто писати код який вище в продакшені, краще використовувати цикл і масив (або стек) який забороняють
3. оновив сигнатуру main, це ніяк не повинно вплинути на виконання програми, але так коректніше