![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
люди, как выйти из цикла? [D6]
tester1 © (2002-12-24 11:09:00)допустим у меня есть цикл. Как только сработало какое-то условие, в котором стоит инкремент, нужно сразу выйти из цикла.
for j:=0 to 10 do begin m:=0; n:=0;
m:=j; n:=-j;
if aaa3[i+m,e+h]<>0 then begin h:=h+1;
end;
if aaa3[i+n,e+h]=0 then begin h:=h-1;
end;
end;
как это реализовать?
thanks!
OlDemon (2002-12-24 14:59:00) [1]2 tester> используй while или repeat грамотнее будет :)))
BALU1111 (2002-12-24 14:24:00) [2]Не лучше ли проверять условие, и при при нужном завершить цикл.
myor (2002-12-24 13:32:00) [3]>спасибо! я в дельфях начинающий...
это паскаль!
>А какже быстро?
for j:=0 to 10 do
begin
m:=0; // зачем, если дальше идет присвоение
n:=0; //
m:=j;
n:=-j;
if aaa3[i+m,e+h]<>0
then
begin
...
h:=h+1;// inc(h)
...
break; // выход после инкремента
end;
if aaa3[i+n,e+h]=0
then
begin // если у тебя одно действие (только декремент),
// зачем begin...end
h:=h-1; // dec(h)
end;
end;
Snap (2002-12-24 11:55:00) [4]Борцам за скорость лучше учить ассемблер. И все рекурсии сводить к циклам :))))
Внук (2002-12-24 11:53:00) [5]Не хочу спорить, тема стара как мир. Скажу только, что всегда обходился без них. И скорость непричем. А борцам за скорость советую тогда все рекурсии сводить в циклам :))
Snap (2002-12-24 11:42:00) [6]А какже быстро?
Smithson (2002-12-24 11:41:00) [7]Это если интересует красота кода паскаль, а не быстрота и эффективность...
Snap (2002-12-24 11:40:00) [8]Флаг поставить. А ещё можно каждый цикл в отдельную процедуру, и оттуда по exit :)
Novice (2002-12-24 11:39:00) [9]Внук © (24.12.02 11:34)
Как можно эффективно выйти из группы вложенных циклов без goto?
tester1 (2002-12-24 11:34:00) [10]спасибо! я в дельфях начинающий...
Внук (2002-12-24 11:34:00) [11]Операторы break, continue, равно как и goto и процедуру exit можно без ущерба убрать из программы при грамотном формулировании алгоритма :)
MXA (2002-12-24 11:13:00) [12]break;