Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2016, 12:04   #11
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от dimon_snake Посмотреть сообщение
Помогите, пожалуйста, народ.
Допустим у меня цикл, в нем еще один цикл, а в нем еще один цикл.Мне нужно прервать третий цикл, и второй, чтобы попасть в первый. Как это сделать?
Например:
Код:
for i:=1 to n do begin
 a:=b+c;
 v:=a-b;
 for j:=1 to n do begin
  if (a<b) and(a>c)
  then
  for b:=1 to n do begin
   if (a<c) then begin
   a:=c;
   b:=c;
   break; \\Вот здесь выход из третьего цикла. Мы попадаем во второй. А как сразу же попасть в первый?
   end;
  end;
  a:=c;
  v:=b;
 end;
 Inc(b);
end;
В код не вчитывайтесь, только что бред сочинил.
Код:
for i:=1 to n do begin
 a:=b+c;
 v:=a-b;
 for j:=1 to n do begin
  if (a<b) and(a>c)
  then
  for b:=1 to n do begin
   if (a<c) then begin
   a:=c;
   b:=c;
   break; \\Вот здесь выход из третьего цикла. Мы попадаем во второй. А как сразу же попасть в первый?
   end;
   break;
  end;
  a:=c;
  v:=b;
 end;
 Inc(b);
end;
Iron Monk вне форума Ответить с цитированием
Старый 04.02.2016, 12:34   #12
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Iron Monk Посмотреть сообщение
Код:
for i:=1 to n do begin
 a:=b+c;
 v:=a-b;
 for j:=1 to n do begin
  if (a<b) and(a>c)
  then
  for b:=1 to n do begin
   if (a<c) then begin
   a:=c;
   b:=c;
   break; \\Вот здесь выход из третьего цикла. Мы попадаем во второй. А как сразу же попасть в первый?
   end;
   break;
  end;
  a:=c;
  v:=b;
 end;
 Inc(b);
end;
Тоже самое что и у вас только без лишнего цикла
Код:
for i:=1 to n do begin
 a:=b+c;
 v:=a-b;
 j:=1;
  if (a<b) and(a>c)
  then
  for b:=1 to n do begin
   if (a<c) then begin
   a:=c;
   b:=c;
   break; \\Вот здесь выход из третьего цикла. Мы попадаем во второй. А как сразу же попасть в первый?
   end;
  end;
  a:=c;
  v:=b;
 end;
 Inc(b);
end;
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 04.02.2016 в 12:37. Причина: все исправил все не правильно было
Dvoishnik вне форума Ответить с цитированием
Старый 04.02.2016, 12:50   #13
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Dvoishnik Посмотреть сообщение
Тоже самое что и у вас только без лишнего цикла
Код:
for i:=1 to n do begin
 a:=b+c;
 v:=a-b;
 j:=1;
  if (a<b) and(a>c)
  then
  for b:=1 to n do begin
   if (a<c) then begin
   a:=c;
   b:=c;
   break; \\Вот здесь выход из третьего цикла. Мы попадаем во второй. А как сразу же попасть в первый?
   end;
  end;
  a:=c;
  v:=b;
 end;
 Inc(b);
end;
Это не мои))) Это циклы ТС с поста #1
Iron Monk вне форума Ответить с цитированием
Старый 04.02.2016, 13:14   #14
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Iron Monk Посмотреть сообщение
Это не мои))) Это циклы ТС с поста #1
я к тому что вы задание не правильно поняли/реализовали.
вы своим break; можно сказать убрали 2 цикл он просто выполняет функцию присваивания J:=1;
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 04.02.2016, 13:52   #15
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Dvoishnik Посмотреть сообщение
я к тому что вы задание не правильно поняли/реализовали.
вы своим break; можно сказать убрали 2 цикл он просто выполняет функцию присваивания J:=1;
Код:
var
  a,b,c: Integer;
begin
   for a:= 0 to 10 do               //1 цикл
     if a = 2 then                  // a = 2
     begin
      for b:= 0 to 10 do            //2 цикл
        if b = 4 then               //b = 4
         begin
             begin
             for c:= 0 to 10 do    //3 цикл
             if c = 5 then         //c = 5
             Break;
             end;
          Break;
         end;
     end;                         //a= 10+1
   ShowMessage(IntToStr(a)+'  '+IntToStr(b)+'  '+IntToStr(c));
end;
Iron Monk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выход из цикла vandrouny Общие вопросы Delphi 5 27.05.2010 20:23
Выход из цикла Сергей089 Помощь студентам 6 17.03.2010 16:44
выход из цикла varelik Общие вопросы Delphi 13 24.12.2009 20:42
Выход из цикла RIO Помощь студентам 1 21.04.2008 22:55