Code en c++
mustang ouss
-
mustang ouss -
mustang ouss -
Bonjour,
g ce code qui normalement doit m'afficher n=7 il m'affiche juste la première valeur de n
svp dites moi ce je dois faire
ps il y a trop de if j'arrive pas à le faire avec switch
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
float heuristique(double c1,double c2,double h,double b,double r)
{
double z[20],g[20];
float G;
z[1]=99999999;
int i,n;
cout<<"z[i]:";
for (i=1;i<=r;i++)
{
z[i+1]=sqrt(3-(2/z[i]));
cout<<z[i]<<setprecision (4)<<" ";
}
g[1]=1;
cout<<endl<<endl;
cout<<"g[i]:";
cout<<g[1]<<" ";
for (i=2;i<=r;i++)
{
g[i]=g[i-1]*z[i];
cout<<g[i]<<setprecision (4)<<" ";
}
cout<<endl;
G=(c1/(pow(h,3)*b*c2));
cout<<"la valeur de G est:"<<G<<setprecision (4)<<endl;
if (G = 0.192)
{
n=1;
cout<<n;
}
else if (G = 0.053)
{
n=2;
cout<<n;
}
else if (G = 0.024)
{
n=3;
cout<<n;
}
else if (G = 0.014)
{
n=4;
cout<<n;
}
else if (G = 0.009)
{
n=5;
cout<<n;
}
else if (G = 0.006)
{
n=6;
cout<<n;
}
else if (G = 0.005)
{
n=7;
cout<<n;
}
else if (G = 0.004)
{
n=8;
cout<<n;
}
else if (G = 0.003)
{
n=9;
cout<<n;
}
system("pause");
}
int main ()
{
double r,c1,c2,h,b;
cout<<"donnez la taille:"<<endl;
cin>>r;
cout<<"donnez c1,c2,h,b:"<<endl;
cin>>c1>>c2>>h>>b;
heuristique(c1,c2,h,b,r);
}
g ce code qui normalement doit m'afficher n=7 il m'affiche juste la première valeur de n
svp dites moi ce je dois faire
ps il y a trop de if j'arrive pas à le faire avec switch
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
float heuristique(double c1,double c2,double h,double b,double r)
{
double z[20],g[20];
float G;
z[1]=99999999;
int i,n;
cout<<"z[i]:";
for (i=1;i<=r;i++)
{
z[i+1]=sqrt(3-(2/z[i]));
cout<<z[i]<<setprecision (4)<<" ";
}
g[1]=1;
cout<<endl<<endl;
cout<<"g[i]:";
cout<<g[1]<<" ";
for (i=2;i<=r;i++)
{
g[i]=g[i-1]*z[i];
cout<<g[i]<<setprecision (4)<<" ";
}
cout<<endl;
G=(c1/(pow(h,3)*b*c2));
cout<<"la valeur de G est:"<<G<<setprecision (4)<<endl;
if (G = 0.192)
{
n=1;
cout<<n;
}
else if (G = 0.053)
{
n=2;
cout<<n;
}
else if (G = 0.024)
{
n=3;
cout<<n;
}
else if (G = 0.014)
{
n=4;
cout<<n;
}
else if (G = 0.009)
{
n=5;
cout<<n;
}
else if (G = 0.006)
{
n=6;
cout<<n;
}
else if (G = 0.005)
{
n=7;
cout<<n;
}
else if (G = 0.004)
{
n=8;
cout<<n;
}
else if (G = 0.003)
{
n=9;
cout<<n;
}
system("pause");
}
int main ()
{
double r,c1,c2,h,b;
cout<<"donnez la taille:"<<endl;
cin>>r;
cout<<"donnez c1,c2,h,b:"<<endl;
cin>>c1>>c2>>h>>b;
heuristique(c1,c2,h,b,r);
}
A voir également:
- Code en c++
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
Or toi tu compares G avec des nombres à 3 décimales alors que la valeur réelle de G en a certainement beaucoup plus. Donc aucune des égalités n'est respectée.
Il faut que tu testes que ta valeur est comprise dans une fourchette que tu jugeras acceptable, par exemple :
Mais il faudrait surtout revoir le principe même.
D'ailleurs, que cherches-tu vraiment à faire, j'ai l'impression que tu avais dès le départ besoin de if (G > 0.192) en fait.