Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Прерывание цикла for


Автор: Spline 30.1.2011, 23:01
Собственно код:
Код

double Some (double &x,double &y,double &z){
for (int i=1;i<101;i++){
x=(x+2)*y;
y=(y+2)*z;
z=(z+2)*x;
}
return 0;
};

Как сделать так чтобы при достижении определёного числа x,y или z цикл for прерывался?

Автор: Batbko 30.1.2011, 23:06
if(условие)break;

Автор: Spline 30.1.2011, 23:17
Так?
Код

double Some (double &x,double &y,double &z){
for (int i=1;i<101;i++){
x=(x+2)*y;
y=(y+2)*z;
z=(z+2)*x;
if (x>...)
break;
}
return 0;
};

Автор: vcxz 30.1.2011, 23:24
Цитата(Spline @  30.1.2011,  23:17 Найти цитируемый пост)
Так?

а разве нельзя объединить с i<101 будет что-то вроде (i<101)or(x< ...) и т.д.?

Автор: Spline 31.1.2011, 16:09
Ок, а если так : при достижении x>... цикл прерывался и x присваивалось другое определённое число?

Автор: bsa 31.1.2011, 16:48
Цитата(Spline @  31.1.2011,  17:09 Найти цитируемый пост)
Ок, а если так : при достижении x>... цикл прерывался и x присваивалось другое определённое число?
Так можно сделать. Только последовательность должна быть другой: x присваивалось, цикл прерывался.

Автор: RastaDja 31.1.2011, 16:49
Код

double Some (double &x,double &y,double &z){
  for (int i=1;i<101;i++){
    x=(x+2)*y;
    y=(y+2)*z;
    z=(z+2)*x;
    if (x>300){
       break;
    }
}
return 0;
};


Добавлено через 50 секунд
Цитата

return 0;

а что это функция 0 возвращает?

Автор: Spline 31.1.2011, 17:29
bsa
Хмм, то есть как-то так.

Код

double Some (double &x,double &y,double &z){
  for (int i=1;i<101;i++){
    x=(x+2)*y;
    y=(y+2)*z;
    z=(z+2)*x;
    if (x>300){
    x=0;
    break;
    }
}
return 0;
};

Автор: mes 31.1.2011, 22:37
Цитата(Spline @  31.1.2011,  16:29 Найти цитируемый пост)
 break;

судя по коду, нужен не break, а return.. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)