Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.18;
Скачать: CL | DM;

Вниз

Как указать порядок выполнения цикла ?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.009 c
2-1250321330
Киря
2009-08-15 11:28
2009.10.18
Кто может напомнить...


2-1250700077
Lex_okha
2009-08-19 20:41
2009.10.18
Помогите решить проблему


15-1250594396
Vera
2009-08-18 15:19
2009.10.18
JvComponentBase


1-1213341676
dmitry_12_08_74
2008-06-13 11:21
2009.10.18
THotKey нормально не работаетс горячими клавишами типа Win...


2-1250177404
Del
2009-08-13 19:30
2009.10.18
Указатели