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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2009, 12:37   #1
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию while()

Всем привет!
Правельно ли использую цикл while() так, что бы выполнялось это условие, пока значения вектора x[i] отрицательные.значение "к" - степень подбирается следующим образом
Код:
        
 while (x[i] <= 0)
  { 
   printf("x<=0!\n");
   int k = 0;
   x[i] = xold[i] + alam * p[i] * pow((1.e-1),k);
   k = k + 1;
    for (int i = 0; i < nn; i++){
        printf ("x = %g \n",x[i]);}
  }
ciaonataha вне форума Ответить с цитированием
Старый 12.06.2009, 12:39   #2
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Код:
while (x[i] <= 0)
Это неположительные значения. Уберите знак '='
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.

Последний раз редактировалось MAKEDON; 12.06.2009 в 12:42.
MAKEDON вне форума Ответить с цитированием
Старый 12.06.2009, 12:45   #3
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию

может я не правельно условие записала. но сеичас сформулирую, что вектор x[i] не могет быть меньше и равен нулю, если он меньше и равен 0, то выполняется это условие, пока вектор не станет больше нуля
ciaonataha вне форума Ответить с цитированием
Старый 12.06.2009, 12:53   #4
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

здесь написано- выполнять до тех пор, пока не выполнится ваше условие
Посторонним В.
NSvirus вне форума Ответить с цитированием
Старый 12.06.2009, 12:56   #5
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию

значит цикл по while() нужно заменить на if()?
ciaonataha вне форума Ответить с цитированием
Старый 12.06.2009, 13:00   #6
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

запишите так:
Код:
while (x[i]>0) do
Посторонним В.

Последний раз редактировалось NSvirus; 12.06.2009 в 13:02.
NSvirus вне форума Ответить с цитированием
Старый 12.06.2009, 13:03   #7
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию

Код:
запишите так:
как? через IF()?
ciaonataha вне форума Ответить с цитированием
Старый 12.06.2009, 13:10   #8
ciaonataha
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 150
По умолчанию

мммм.не могу
когда вектор x[i] больше нуля выполняются другие условия для него в моей проге. Только, когда он меньше или равен нулю, должны выполняться условия с while() / if() до тех пор, пока он опять не станет больше нуля
ciaonataha вне форума Ответить с цитированием
Старый 12.06.2009, 13:21   #9
NSvirus
пропагандирую жизЪ
Форумчанин
 
Аватар для NSvirus
 
Регистрация: 19.03.2007
Сообщений: 950
По умолчанию

ну тогда так:
Код:
if x[i]<=0 then
 while x[i]>0 do
  begin
   ...
  end
else while x[i]<=0 do
  begin
   ...
  end;
Посторонним В.
NSvirus вне форума Ответить с цитированием
Ответ


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