| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Рекурсия |
| Автор: XenOS12 29.8.2009, 20:59 | ||
Можете на данном примере объяснить, как работает рекурсия?
|
| Автор: NightmareZ 29.8.2009, 21:11 |
Для того, чтобы понять рекурсию, нужно сначала понять рекурсию. |
| Автор: azesmcar 29.8.2009, 21:13 |
А в книже, из которой ты это переписал ничего не объяснено? |
| Автор: XenOS12 29.8.2009, 21:17 |
| Ну там написано, типо это рекурсия, но как она работает - ни слова... |
| Автор: zim22 29.8.2009, 21:23 |
пользуйся поиском по форуму http://forum.vingrad.ru/forum/topic-263727/kw-рекурсия-разбор.html |
| Автор: XenOS12 29.8.2009, 21:53 | ||
Всё равно не понимаю
|
| Автор: IKM2007 29.8.2009, 21:56 | ||||||
Добавлено @ 22:03 XenOS12, во первых почему твоя функция возвращает unsigned long? ведь возвращенное значение ты нигде не используешь(пока не мере нет надобности). И в коде
вместо return (n - 1) пиши bred(n-1). Принцип рекурсии многократный вызов функции, но чтобы вызовы не были бесконечными, надо выбрать "базу", здесь "база" числа меньше или равные одному:
то есть при каждом вызове параметр функции становиться меньше на один, и в итоге он равняется одному и работает оператор return 0. |
| Автор: XenOS12 29.8.2009, 22:18 | ||
Ещё раз извиняюсь, но что значит это:
и я читал, что функцию main лучше делать с типом возврата int... |
| Автор: IKM2007 29.8.2009, 22:23 | ||
тоже самое, что и
Да, правильно, так программа более переносимая становиться. Это только у меня такая привичка писать void. |
| Автор: XenOS12 29.8.2009, 22:25 |
| IKM2007, ооо, спасибо большое, объяснил так, что я понял |
| Автор: IKM2007 29.8.2009, 22:32 |
| Тогда ставь тему решенной, в правом верхнем углу. |
| Автор: XenOS12 29.8.2009, 22:34 |
| Готово)))) |