|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.12.2020, 21:09 | #1 |
Новичок
Джуниор
Регистрация: 03.12.2020
Сообщений: 2
|
Не понимаю рекурсию
Здравствуйте!
Пытаюсь постичь азы языка самостоятельно по видео-урокам. Застряла на теме рекурсии. Было дано задание: Вывести в консоль элементы одномерного массива при помощи рекурсии. Вроде ничего сложного, написала вот такой метод: Код:
Т к при самодеятельности получала ошибки. Вопросы в следующем: 1. Почему нужно указывать именно i +1, а не i++? (при i++ рекурсивно выводится только первый элемент массива) 2. Почему после успешного выполнения кода все равно пишется StackOverflowException? Также была бы рада, если бы Вы порекомендовали ресурсы/литературу, где понятно будет описана работа рекурсии. И, если накините простеньких заданий по типу вышепредставленного, буду очень благодарна. |
03.12.2020, 21:29 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
1. Потому что i++ это постинкремент. Поэтому аргумент функции получит старое значение i.
2. Потому что вы не предусмотрели условие выхода из рекурсии, а просто перестали печатать значения массива, как только превысили длину. Возьмите в фигурные скобки и WriteLine и ShowArray.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
03.12.2020, 21:30 | #3 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
ShowArray(array, i); и потом i = i+1; // i++ P.S. не знаю есть ли в С# ShowArray(array, ++i ); // сначала добавить потом вызвать Цитата:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
|
||
03.12.2020, 21:35 | #4 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
есть и работает https://dotnetfiddle.net/84PZS5
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
03.12.2020, 21:43 | #5 |
Новичок
Джуниор
Регистрация: 03.12.2020
Сообщений: 2
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на рекурсию | vital_orsha | Помощь студентам | 0 | 19.11.2015 20:44 |
Задача на рекурсию С++ | Ramina | Помощь студентам | 0 | 05.06.2012 12:33 |
4 Задачи на рекурсию | Toni Milano | Помощь студентам | 2 | 27.12.2011 19:02 |
Задача на рекурсию | Rusl92 | Помощь студентам | 1 | 13.01.2011 22:36 |
Задача на рекурсию. | KoHgpaT | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 22.12.2006 20:49 |