Помощь - Поиск - Пользователи - Календарь
Полная версия: Цикл в цикле
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
BananaMan
k:=0;
for i:=1 to m do
for j:=1 to n do
if (StringGrid1.Cells[j,i]='')or(StringGrid2.Cells[j,i]='') then
begin
inc(k);
break;
end;
if k<>0 then ShowMessage('матрицы имеют незаполненные ячейки')


вопрос:
если у меня условие выполняется, как прервать оба цикла сразу?
мисс_граффити
а не проще ли взять цикл другого типа? while или until....
это, конечно, мое личное мнение, но пользоваться брейками без серьезных на то причин не люблю.
Noof
Цитата(BananaMan @ 4.06.2006 13:44) *

вопрос:
если у меня условие выполняется, как прервать оба цикла сразу?


вставить проверку если переменная bool = true тогда брейк здес... и "там". нет?
klem4
Цитата
если у меня условие выполняется, как прервать оба цикла сразу?


for i := 1 to n do begin
for j := 1 to m do
if lalala[i,j] then break;
if lalala[i,j] then break;
end;


или

i := 1;
while (i <= n) do begin
j := 1;
while (j <= m) do begin
if lalala[i,j] then break;
inc(j);
end;
if j <= m then break else inc(i);
end;


или

i := 1;
while (i <= n) do begin
j := 1;
while (j <= m) and not(lalala[i,j]) do inc(j);
if j <= m then break else inc(i);
end;
hardcase_offline
Цитата(BananaMan @ 4.06.2006 13:44)
вопрос:
если у меня условие выполняется, как прервать оба цикла сразу?


type
Interruption = class(TObject)
end;

try
for i:=1 to m do
for j:=1 to n do begin
if Condition then raise Interruction.Create;
end;
except
on Interruption do ShowMessage('Прерывание цикла')
end;
мисс_граффити
ну все... началось.
hardcase_offline, сейчас будешь объяснять человеку, не знающему, как заполнить массив из стринггрида, что такое класс.......
BananaMan
:-| так
попрошу без сарказма
и что такое class?))))
мисс_граффити
объектно-ориентированное программирование заинтересовало?...
BananaMan
вопрос на вопрос?
volvo
Начнем флеймить?
BananaMan, у тебя на клавиатуре F1 заело?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.