Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1250324592
Урсулапов_
2009-08-15 12:23
2009.10.18
Как одновременно использовать два подключения


15-1250414408
dimoktmb
2009-08-16 13:20
2009.10.18
Виртуальный COM от Prolific


11-1200751243
Vladimir Kladov
2008-01-19 17:00
2009.10.18
Версия 2.86


15-1250014166
Kerk
2009-08-11 22:09
2009.10.18
Все-таки есть бритвы, а есть Бритвы...


15-1250675891
Yurikon
2009-08-19 13:58
2009.10.18
Контроль за использованием памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский