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

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

Войти
Регистрация
Восстановить пароль
 
Kvlkv
0 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 2
#1

Циклы: вычисление роста населения - C++

13.11.2015, 14:07. Просмотров 171. Ответов 2
Метки нет (Все метки)

Здравствуйте!
Подскажите пожалуйста как решить данную проблему.
Надо сделать так, чтобы каждый раз, когда население увеличивается дважды (изначально население = 7 млрд), коэффициент прироста уменьшился в два раза. Вот пример


Population en 2012 : 7.085 ; taux de croissance : 1.2 %
Population en 2013 : 7.17 ; taux de croissance : 1.2 %
Population en 2014 : 7.257 ; taux de croissance : 1.2 %
Population en 2015 : 7.344 ; taux de croissance : 1.2 %
...
Population en 2065 : 13.38 ; taux de croissance : 1.2 %
Population en 2066 : 13.54 ; taux de croissance : 1.2 %
Population en 2067 : 13.71 ; taux de croissance : 1.2 %
Population en 2068 : 13.87 ; taux de croissance : 1.2 %
Population en 2069 : 14.04 ; taux de croissance : 0.6 %
Population en 2070 : 14.12 ; taux de croissance : 0.6 %
Population en 2071 : 14.21 ; taux de croissance : 0.6 %
Population en 2072 : 14.3 ; taux de croissance : 0.6 %
Population en 2073 : 14.38 ; taux de croissance : 0.6 %
...
Population en 2183 : 27.82 ; taux de croissance : 0.6 %
Population en 2184 : 27.99 ; taux de croissance : 0.6 %
Population en 2185 : 28.16 ; taux de croissance : 0.3 %
Population en 2186 : 28.24 ; taux de croissance : 0.3 %
Population en 2187 : 28.33 ; taux de croissance : 0.3 %
Population en 2188 : 28.41 ; taux de croissance : 0.3 %
Population en 2189 : 28.5 ; taux de croissance : 0.3 %
Population en 2190 : 28.59 ; taux de croissance : 0.3 %
Population en 2191 : 28.67 ; taux de croissance : 0.3 %
Population en 2192 : 28.76 ; taux de croissance : 0.3 %
Population en 2193 : 28.84 ; taux de croissance : 0.3 %
Population en 2194 : 28.93 ; taux de croissance : 0.3 %
Population en 2195 : 29.02 ; taux de croissance : 0.3 %


Прилагаю также свой код
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <iomanip> // pour setprecision()
#include <cmath>   // pour exp()
using namespace std;
 
int main()
{
  // rГ©duire le format d'affichage
  cout << setprecision(4);
 
  constexpr double population_initiale(7.0); // population initiale, en milliard d'humains
  constexpr int    annee_depart(2011);       // annГ©e initiale
  double taux(1.2);                          // taux de croissance, en %
 
  int annee(annee_depart);                // annГ©e de calcul
  double population(population_initiale); // population mondiale pour l'annГ©e 'annee'
 
  cout << "====---- PARTIE 1 ----====" << endl;
  cout << "Population en " << annee << " : " << population
       << endl;
 
  /*****************************************************
   * ComplГ©ter le code Г* partir d'ici
   *****************************************************/
 
  // ===== PARTIE 1 =====
  do{ 
  cout << "Quelle annГ©e (> " <<annee_depart 
       << ") ? ";
  cin >> annee;
  } while (annee <= annee_depart); 
  
  population = population_initiale * exp ((annee - annee_depart) *(taux/100));
 
  cout << "Population en " << annee << " : " << population
       << endl;      
       
       
 
  // ===== PARTIE 2 =====
  cout << endl << "====---- PARTIE 2 ----====" << endl;
 
double populationCible(0);
  do{
  cout << "Combien de milliards (> " << population_initiale << ") ? ";
  cin >> populationCible;
}while (populationCible<=population_initiale);
  
  cout << "Population voulue : " <<populationCible<<endl;
  
   int annee1 (2012);
   double populationInitiale1 (7.085);
   double population1 (populationInitiale1);
 
   do {
      
       cout <<"Population en" << annee1 <<  " : "<< population1 << endl;
       
       ++ annee1;
       
       population1 = population_initiale * exp ((annee1 - annee_depart) *(taux/100));
       
       }while (populationCible >= population1);
       cout <<"Population en" << annee1 <<  " : "<< population1 << endl;
 
 
 
 
  // ===== PARTIE 3 =====
  cout << endl << "====---- PARTIE 3 ----====" << endl;
  int annee2 (2012);
  
  
   double population2 (7.085);
   
   
  do {
      
     if ((population2>=population_initiale*2) and (population2<=populationCible)){
         taux = taux/2;
     }
       cout <<"Population en" << annee2 <<  " : "<< population2 << " ; taux de croissance : " << taux<< " %" << endl;
       
       ++ annee2;
    
       
       population2 = population_initiale * exp ((annee2 - annee_depart) *(taux/100));
   
  
      
       
    
       
       }while ( population2 <=populationCible);
       cout <<"Population en" << annee2 <<  " : "<< population2 << endl;
    
 
    
 
  
 
  /*******************************************
   * Ne rien modifier aprГЁs cette ligne.
   *******************************************/
 
  return 0;
}
полное задание можно найти по ссылке (снизу на английском)
https://class.coursera.org/initprogc...nment_id=13#en
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2015, 14:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Циклы: вычисление роста населения (C++):

Цикл, вычисление среднего роста - C++
Всем Привет! Мое задание: Задано n количество студентов. Нужно узнать средний рост. В Общем мне нужно составить так код, что бы я ввел, к...

Известны данные о численности населения и площадь.Определить плотность населения - C++
Известны данные о численности населения (в млн жителей) и площади (в тысячах квадратных километров) 5 государств. Определить максимальную...

Даны результаты переписи населения. Покажите список населения которые родились после 1990года. - C++
Даны результаты переписи населения. Покажите список населения которые родились после 1990года. Также покажите число такого населения.

Расставить учащихся с указаниям роста. Выяснить, перечислены ли ученики в списке в порядке убывания их роста - C++
Имеется список учащихся класса с указанием роста каждого из них. Выяснить, перечислены ли ученики в списке в порядке убывания их роста.

Исправить задачу (написать прогу, которая запрашивает численность населения Земли и численность населения США) - C++
Задача: написать прогу, которая запрашивает численность населения Земли и численность населения США. Сохранить информацию в переменных типа...

вычисление погрешности - циклы. - C++
Задание во вложении. мой код приложен. не правильно работает ряд, точнее его накопление, на сколько я понимаю - поправте что ни так.. ...

2
Dimension
Dimension
573 / 442 / 136
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
13.11.2015, 14:25 #2
Цитата Сообщение от Kvlkv Посмотреть сообщение
if ((population2>=population_initiale*2) and (population2<=populationCible))
and на && замените
0
Kvlkv
0 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 2
13.11.2015, 14:32  [ТС] #3
Спасибо за ответ, но ведь && и and одинаковые функции имеют... я, конечно, попробовала заменить, но это не помогло, цикл все равно получается бесконечным
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2015, 14:32
Привет! Вот еще темы с ответами:

Циклы: вычисление синуса - C++
Приступил к циклам. Задание такое: Как известно, функция sin(x) может может быть вычислена в виде ряда ...

Циклы. Вычисление суммы ряда - C++
Помогите, пожалуйста, найти ошибки. Условие: Вычислить и вывести на экран в виде таблицы значения функции, заданной с по-мощью ряда...

Вложенные циклы (вычисление суммы ряда) - C++
Ребят выручайте пожалуйста, завтра уже должна это буду сдать, а ничего путнего не получается по этой теме :wall: Вычислить и вывести...

Вложенные циклы. Вычисление двойной суммы. - C++
#include&lt;stdlib.h&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; long factor(int k) {long res; if((k==1)||(k==0)) res=1; else...


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

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

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