Главная страница
    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-1249653864
Kerk
2009-08-07 18:04
2009.10.18
WiFI в Питере


15-1250454604
Юрий
2009-08-17 00:30
2009.10.18
С днем рождения ! 17 августа 2009 понедельник


1-1219514043
ZDO
2008-08-23 21:54
2009.10.18
Монитор каталогов


15-1250525904
sanx
2009-08-17 20:18
2009.10.18
Где скачать FastMove?


2-1250058264
Priest
2009-08-12 10:24
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский