Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
ВнизКак указать порядок выполнения цикла ? Найти похожие ветки
← →
b/@. © (2009-08-20 17:37) [0]Добрый день.
Столкнулся тут с одной проблемой. Delphi упорно не хочет делать цикл по синтаксису.
В одном месте использую цикл от 0 до 9 - причём порядок очень важен для алгоритма.
Пишу
for i := 0 to 9
в отладчике вижу обратный порядок от 9 до 0...
Но когда пишу
for i := 9 downto 0
то тоже получаю этот же обратный порядок от 9 до 0 :(
Как же всё-таки указать Delphi, что мне нужно именно так, как предполагает её же собственный синтаксис for i := 0 to 9 ?
← →
Palladin © (2009-08-20 17:40) [1]
> в отладчике вижу обратный порядок от 9 до 0...
оптимизация компилятора потому что не используешь i
напиши
for i:=0 to 9 do showmessage(inttostr(i));
и удивись
> то тоже получаю этот же обратный порядок от 9 до 0 :(
потому что цикл такой )
← →
sniknik © (2009-08-20 17:44) [2]> причём порядок очень важен для алгоритма.
ну прям так важен, что даже "порядковая" переменная не используется...
← →
b/@. © (2009-08-20 17:45) [3]
> Palladin © (20.08.09 17:40) [1]
> оптимизация компилятора потому что не используешь i
Использую i как индекс массива, и оптимизацию выключил давно - всё равно от 9 до 0... уже всё перепробовал что знал...
← →
Jeer © (2009-08-20 18:00) [4]Если очень беспокоит - заведи j и Inc(j)
← →
MonoLife © (2009-08-20 18:02) [5]
> b/@. © (20.08.09 17:45) [3]
Забей, и не подглядывай на i в отладчике...все будет нормально..
← →
DrPass © (2009-08-20 18:05) [6]
> b/@. © (20.08.09 17:37)
> Добрый день.
>
> Столкнулся тут с одной проблемой. Delphi упорно не хочет
> делать цикл по синтаксису.
>
> В одном месте использую цикл от 0 до 9 - причём порядок
> очень важен для алгоритма.
Не ври. Delphi переставляет порядок цикла только в тех случаях, когда это никак не влияет на результат. Если порядок действительно будет важен, она не будет менять порядок
← →
Palladin © (2009-08-20 18:06) [7]
> [3] b/@. © (20.08.09 17:45)
и что? ты хочешь сказать что по массиву пробег задом наперед чтоли?
← →
Anatoly Podgoretsky © (2009-08-20 18:10) [8]
> Столкнулся тут с одной проблемой. Delphi упорно не хочет
> делать цикл по синтаксису.
>
> В одном месте использую цикл от 0 до 9 - причём порядок
> очень важен для алгоритма.
У тебя не выполнился цикл 10 раз или результат неправильный?.
Насчет важности - вероятно ты врешь.
Тебе что бы работало или чтобы в отладчике показывалось как тебе хочется, по другогму тебе ехать или шашечки?
← →
b/@. © (2009-08-20 19:13) [9]
> Palladin © (20.08.09 18:06) [7]
> и что? ты хочешь сказать что по массиву пробег задом наперед чтоли?
Именно так. Причём при любых условиях...
> Anatoly Podgoretsky © (20.08.09 18:10) [8]
> У тебя не выполнился цикл 10 раз или результат неправильный?
У меня результат неправильный из-за неправильного порядка цикла.
> Тебе что бы работало или чтобы в отладчике показывалось как тебе хочется
Мне хочеться чтобы компилятор выполнял правила своего же языка.
← →
Юрий Зотов © (2009-08-20 19:17) [10]> b/@. © (20.08.09 19:13) [9]
После отключения оптимизации попробуйте сделать build, а не compile.
← →
Palladin © (2009-08-20 19:17) [11]
> Именно так. Причём при любых условиях...
не верю
← →
Kolan © (2009-08-20 19:20) [12]Ради эксперимента попробуйте
while
, но я тоже не верю.
← →
sniknik © (2009-08-20 19:26) [13]> У меня результат неправильный из-за неправильного порядка цикла.
более вероятно он не верен из-за ошибок. просто ошибок, не цикла.
но вообще рассказывать можно о любых чудесах, но стоит их только попытаться показать...
← →
Anatoly Podgoretsky © (2009-08-20 19:57) [14]> b/@. (20.08.2009 19:13:09) [9]
Где ваши доказательста?
(с) фильм Красная жара
← →
Сергей М. © (2009-08-20 21:01) [15]
> b/@. © (20.08.09 19:13) [9]
> результат неправильный из-за неправильного порядка цикла
И каков же он, "неправильный" ?
← →
Kolan © (2009-08-20 21:17) [16]Интересно, кстати, что же в массиве такое лежит, что порядок важен.
← →
Palladin © (2009-08-20 21:20) [17]
> [16] Kolan © (20.08.09 21:17)
дело не в том что там лежит, а дело в том что он солгал... и нагло... за это проклят он здесь будет... )
← →
Palladin © (2009-08-20 21:25) [18]
> [15] Сергей М. © (20.08.09 21:01)
он настолько неправильный, что он имеет смелость быть в неправльном порядке, НО неправильного порядка, хотя комманду ему дали тоже неправильную, на выходе, неправильно поданная комманда, превратила изначально неправильную последовательность в правильный порядок выдачи.. Вот и все... все достаточно доступно и логично..
← →
DVM © (2009-08-20 22:26) [19]
> b/@. © (20.08.09 17:37)
> в отладчике вижу обратный порядок от 9 до 0...
Это все сила Кориолиса. Запусти свою программу в другом полушарии Земли и все будет как надо!
← →
Германн © (2009-08-21 01:13) [20]
> Это все сила Кориолиса. Запусти свою программу в другом
> полушарии Земли и все будет как надо!
Ага. Циклы for-to и for-downto будут всегда выполняться от 0 до 9.
:)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c