Форум программистов, компьютерный форум CyberForum.ru

Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста - C++

Восстановить пароль Регистрация
 
kingskeeper
7 / 7 / 1
Регистрация: 08.11.2010
Сообщений: 26
17.05.2012, 05:42     Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста #1
Здравствуйте. Прошу,подскажите,пожалуйста, ступор уже.
Вот прога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
for(n=1;n<=100;n++) 
    do
    { 
    
           P0=1/(exp(r,n));
           Temp=power(r,n)/factorial(n);
       P_otk=Temp*P0;
           Q=1-P_otk;
           A=lambda*Q;
           D=A*c;
           Chist_prib[n]=D-p*n;
    
      cout<<"----------------"<<endl;
      cout<<"Pri n="<<n<<endl;
      cout<<"----------------"<<endl;
      cout<<"P0="<<P0<<endl;    
          cout<<"P_otk="<<P_otk<<endl;
          cout<<"Q="<<Q<<endl;
          cout<<"A="<<A<<endl;
          cout<<"D="<<D<<endl;
          cout<<"Chist_prib="<<Chist_prib[n]<<endl;
      getch();
    }
      while(Chist_prib[n]<Chist_prib[n-1]);
В чем суть: в цикле вычисляются значения переменных. Это должно продолжаться, пока в массиве Chist_prib следующий элемент не станет меньше предыдущего. Как сделать этот код рабочим? В данный момент он зацикливается на n=4, как раз когда надо, но работу прога не прекращает как должна.

Добавлено через 28 минут
условие на мой взгляд и сейчас стоит неверное...но не знаю какое поставить чтобы работало.
Ведь нам надо,чтобы на момент выполнения ПЕРВЫЙ раз условия. нам необходимо знать значения при n=1 и n=2. иначе получается ерунда.но как это сделать?...

Добавлено через 4 минуты
правильнее условие имхо while(Chist_prib[n+1]<Chist_prib[n]); но с ним не работает,т.к. если оставлять прогу в таком виде на момент выполнения условия мы знаем только значения при n=1, а при n+1 не знаем
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 05:42     Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста
Посмотрите здесь:

Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? C++
C++ Как сделать так, чтобы функции были не вложенными?
Как сделать так, чтобы запуск из *.exe не вылетал! C++
C++ Как сделать чтобы программа закрывалась, когда условие выполнено?
Как сделать так чтобы пользователь ввел TCHAR C++
C++ Как сделать так,чтобы
Как сделать так чтобы результат выводился в градусах ? C++
Как сделать так, чтобы вернулась часть объекта? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
17.05.2012, 06:04     Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for(n=1;n<=100;n++) 
    { 
    
           P0=1/(exp(r,n));
           Temp=power(r,n)/factorial(n);
       P_otk=Temp*P0;
           Q=1-P_otk;
           A=lambda*Q;
           D=A*c;
           Chist_prib[n]=D-p*n;
    
      cout<<"----------------"<<endl;
      cout<<"Pri n="<<n<<endl;
      cout<<"----------------"<<endl;
      cout<<"P0="<<P0<<endl;    
          cout<<"P_otk="<<P_otk<<endl;
          cout<<"Q="<<Q<<endl;
          cout<<"A="<<A<<endl;
          cout<<"D="<<D<<endl;
          cout<<"Chist_prib="<<Chist_prib[n]<<endl;
          if(i>1 && Chist_prib[n]<Chist_prib[n-1])
              break;
    }
kingskeeper
7 / 7 / 1
Регистрация: 08.11.2010
Сообщений: 26
17.05.2012, 06:11  [ТС]     Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста #3
valeriikozlov, только n>1.Спасибо,работает! получается, что это условие проверяется только когда известны как минимум два значения?

Добавлено через 3 минуты
Вот ведь,вокруг да около ходил. Подобная идея была
Yandex
Объявления
17.05.2012, 06:11     Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста
Ответ Создать тему
Опции темы

Текущее время: 00:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru