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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kingskeeper
7 / 7 / 1
Регистрация: 08.11.2010
Сообщений: 26
#1

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

17.05.2012, 05:42. Просмотров 383. Ответов 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
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 не знаем
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2012, 05:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать так, чтобы условие начало работать?Подскажите,пожалуйста (C++):

Сделать так, чтобы функция возвращала как целые, так и дробные значения - C++
Задача: нужно найти среднее арифметическое чисел в одномерном массиве разных типов. В main() у пользователя спрашивается размер...

Как сделать так, чтобы две разные программы могли работать с одной и той же областью оперативной памяти? - C++
Собственно даже незнаю куда копать. Пробовал в одной программе вывести указатель на массив, а в другой указателю присвоить это значение...

Как сделать, чтобы в начало не добавлялись лишние переносы строк? - C++
// программа реагирует на цифры и символы-удаляет их разделяя введенный текст на слова-сортирует их по //алфавиту #include...

Как сделать чтобы программа закрывалась, когда условие выполнено? - C++
// Это програма выщитывает корни дискриминанта. 27.08.2013, 16.05 #include &lt;iostream&gt; using namespace std; int main() { ...

Как сделать так,чтобы - C++
Собственно,здрасте. Собственно,я новичок в с++. В общем у меня возник вопрос: Сперва приведу пример,иначе не могу объяснить: int...

Как сделать, чтобы при вводе в консоли <Enter> не переводил курсор на начало следующей строки? - C++
Есть некий ввод символов, организованный через cin.get(char &amp;), или через cin.get(char &amp;, int), или через cin.getline(char &amp;, int)....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 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;
    }
1
kingskeeper
7 / 7 / 1
Регистрация: 08.11.2010
Сообщений: 26
17.05.2012, 06:11  [ТС] #3
valeriikozlov, только n>1.Спасибо,работает! получается, что это условие проверяется только когда известны как минимум два значения?

Добавлено через 3 минуты
Вот ведь,вокруг да около ходил. Подобная идея была
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2012, 06:11
Привет! Вот еще темы с ответами:

подскажите пожалуйста как на ТС++ 3.0 сделать резидентную программу??? - C++
ВСЕМ здравствуйте, подскажите пожалуйста как сделать на ТС 3.0 резидентную программу??? пробывал вставлять ассемблерный код, ничего не...

Как сделать так, чтобы число не повторялось? - C++
Вопрос следующий. В определенном диапазоне (например от 0 до 9) лежат числа, нужно сделать так, чтобы весь диапазон был выведен на экран,...

Как сделать так, чтобы запуск из *.exe не вылетал! - C++
Из командной строки все работает нормально, но запуск файла *.exe (этот файл я сам создовал, он откомпилированный!) не получается(( Как...

Как сделать так чтобы пользователь ввел TCHAR - C++
Как сделать так чтобы пользователь ввел TCHAR ?


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru