bonjour
je fais en c++ l'exercice avec le code ci dessous
je rentre un nombre de lapins et un nombre de renards
par une boucle for je vois l'évolution de la population des renards et des lapins en fonction d'un taux d'attaque des lapins par les renards de 5% d'un taux de croissance des lapins de 3% et de 0.08 pour les renards et d'un taux de mortalité des renards de 1%.
en appliquant les formules ci dessous et pendant 50 mois
et j'affiche à chaque fois le nombre de renards et le nombre de lapins
je m'aperçois que au 25 ième mois , il ne reste plus personne et que voudrais donc que l'affichage s'arrête là à 25 mois
et je n'arrive pas comment faire
( en fait comme l'exercice plus complet se fait avec des taux d'attaque variables , pour certains il n'y a plus personne à 25 mois pour d'autre à 35 mois)
de plus quand il y a moins de 2 renards ou moins de 2 lapins on arrondit à 0 le nombre
quelqu'un peut il m'aider; j'ai essayé les boucles do while mais je n'y arrive pas
merci d'une aide car j'y ai passé des heures sans succès
cordialement
#include <iostream>
#include <iomanip> // pour setprecision()
using namespace std;
int main()
{
cout << setprecision(4);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 double taux_croissance_lapins(0.3); double taux_attaque(0.05); double taux_croissance_renards(0.008); double taux_mortalite(0.1); int duree(50); double renards_i(0.0); double lapins_i(0.0);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cout << "Combien de renards au départ (>= 2) ? "; cin>>renards_i; cout << "Combien de lapins au départ (>= 5) ? "; cin>>lapins_i;
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout << endl << "***** Le taux d'attaque vaut "<< taux_attaque * 100 << "%" << endl;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 double population_renards(renards_i); double population_lapins (lapins_i); double m(0.0),n(0.0),k(0.0);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 for(int i(1);i<=duree;++i){ population_lapins=(lapins_i*(1.0+taux_croissance_lapins-taux_attaque*renards_i)); population_renards=(renards_i*(1.0+taux_attaque*lapins_i*taux_croissance_renards-taux_mortalite)); lapins_i=population_lapins; renards_i=population_renards; if (population_renards < 2) {renards_i=0;} if (population_lapins < 2) {lapins_i=0;} m=renards_i; n=lapins_i; k=i; cout << " Après "<< k << " mois, il y a "<< n << " lapins "<< " et "<< m << " renards "<<endl; } }
Partager