|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.10.2012, 23:11 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Рекурсия и локальный массив
Доброго времени суток!
Строча функцию на тему случайного отбора файла из каталога, всплыла проблема. Задачка: Выбрать файлы определенного типа из каталога и его подкаталогов, и загнать их в 1 массив, затем рандомно выбрать 1 из них. Траблы: 1. Массив объявлен как локальная переменная, каждый новый рекурсивный вызов создает новый экземпляр массива? 2. Если создать массив глобально, траблы будут? Есть идеи? |
03.10.2012, 23:15 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
1. да
2. нет > Есть идеи? 3. передавать указатель на массив в рекурсивную функцию
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
03.10.2012, 23:37 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
|
|
04.10.2012, 00:16 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Взял в оборот глобальную переменную, полет нормальный =)
veniside, в тол не возьму ваш 3-й пункт. Как работать в первом вызове(самом первом)? Код:
В любом случае ваш вариант, пока писал, понял что он не подходит под мою задачу: Их полученного массива выбрать случайный элемент. << - этот пункт выполняется последним. |
04.10.2012, 07:04 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Когда-то написал такую процедурку
Код:
Особо не тестил, но в проге, где применял, работала, давая искомый резалт. Осн. мысль простая - зачем массив и запарки со стеком, если есть вменяемая куча. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Локальный таймер | Anton911 | Общие вопросы Delphi | 11 | 13.01.2012 10:46 |
рекурсия и массив | Sparky | Помощь студентам | 3 | 18.03.2011 23:39 |
задача паскаль, скорее всего массив+рекурсия(хотя у меня другой способ) | IvaniuS | Помощь студентам | 10 | 23.12.2009 15:34 |
Локальный чат. | GAGARIN-NEW | Софт | 0 | 12.12.2007 22:43 |