Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pascal


Seldon ©   (2002-12-01 17:35:00) 

Здрасьте. Есть такой код:
var
B:array[-50..50,-50..50] of Integer;
w,z:Integer;
begin
{...}
for z:=-50 to 50 do
for w:=-50 to 50 do
Plus:=B[w,z]>0 and not Plus;{1}
{...}
end.
Ну дык вот, при первом проходе циклов в точе 1 z=101 и w=101!!! B[w,z] проходит без проблем, хотя 101 выходит за рамки массива! И по мере прохождения циклов z и w уменьшаются! Что Вы думаете по этому поводу?


TTCustomDelphiMaster   (2002-12-01 21:29:00) [1]

{$O-}
var
B:array[-50..50,-50..50] of Integer;
w,z:Integer;
begin
{...}
for z:=-50 to 50 do
for w:=-50 to 50 do
Plus:=B[w,z]>0 and not Plus;{1}
{...}
{$O+}

Или снять галочку Project - Options - Compiler - Optimization


Seldon   (2002-12-01 21:20:00) [2]

>>TTCustomDelphiMaster ©
А не подскажете, как это выключить? А то ведь отлаживать неудобно.

>>Anatoly Podgoretsky ©
Спасибо!


Anatoly Podgoretsky   (2002-12-01 20:42:00) [3]

Хорошо думаем, а что?


TTCustomDelphiMaster   (2002-12-01 18:12:00) [4]

Все нормально это работа оптимизатора.


Наверх

Титульная страница Поиск, карта сайта Написать письмо