|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.03.2012, 16:49 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Интересный момент цикла For to do
Доброго времени суток!
Предположим есть список строк(пускай путей к папкам). Через опр. период времени список нужно чистить от трупов. Код:
Нужно ли самому Dec'ить iDir, чтобы цыкл не пропустил какой-то элемент списка? Допустим сейчас кол-во ссылок показывает 35 30 ссылка сдохла, её удаляем. Счетчик ссылок(iDir) у нас на 30 и останется, а при следующем витке, счетчик увеличится на 1(будет 31), когда кол-во ссылок уже 34, и получает сдвиг на 1 элемент вниз. Итог: проскачили новый 30 элемент списка, прыгнув на 31. Как быть? Последний раз редактировалось Человек_Борща; 14.03.2012 в 16:57. |
14.03.2012, 17:07 | #2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
for downto do ?
|
14.03.2012, 17:35 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
или while или downto
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.03.2012, 19:23 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я не говорил что быстрее, а что нет, я лишь дал два варианта решения проблемы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.03.2012, 19:39 | #6 |
Форумчанин
Регистрация: 14.03.2011
Сообщений: 104
|
Пепел Феникса
Извиняюсь, если прозвучало как упрек еtc . Немного перефразирую "Интересно, что через downto быстрее, ну и, имхо, более читаемо. Если, конечно, использовать while так же, как и в ссылке" Последний раз редактировалось Silver_S; 14.03.2012 в 19:50. |
14.03.2012, 20:50 | #7 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
downto гарантирует и от пропусков и AV
программа — запись алгоритма на языке понятном транслятору
|
|
14.03.2012, 22:44 | #8 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
Каким образом вам поможет downto, если данные, будут удаляться из произвольного места?
На мой взляд, для этих целей лучше использовать while
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
14.03.2012, 22:53 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
когда while сделает тоже самое, но с лишней проверкой. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
14.03.2012, 23:09 | #10 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. | Necare | Помощь студентам | 0 | 15.11.2011 18:26 |
Несен момент в коде | Kapitann | JavaScript, Ajax | 4 | 16.08.2010 18:20 |
Корелляционный момент | PONKA | Microsoft Office Excel | 2 | 09.12.2009 20:29 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat | McMilin | Помощь студентам | 7 | 11.11.2007 14:10 |