probleme de conversion float en int
bonjour a tous, je ne sais pas si je m'exprime correctement dans le titre mais le probleme est la.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| float ord;
int ordfinal;
float abs;
int ordarrondi;
float eps=0.0001;
for(int i=0;i<80;i=i+1){
if (i=0)
abs=-3.9;
else
abs=(i/10)-3.9;
ord=f(abs);
ordarrondi= roundf(ord);
ordfinal=-ordarrondi+40;
if(fprime(i)>eps)
g[i][ordfinal]='/';
else if(fprime(i)<eps)
g[i][ordfinal]='\\';
else
g[i][ordfinal]='_';
} |
au pr�alable, j'ai utilis� math.h et la fonction float roundf(float x)
j'ai �galement d�finit
Code:
1 2 3 4 5 6 7 8 9
| float f(float x){
float y;
y=(2*x*x*x)-(2*x*x)-(18*x)+18;
return y;
}
float fprime(float x){
float yprime=(6*x*x)-(4*x)-18;
return yprime;
} |
je part donc au debut avec un "numero de case de matrice" entier, que je convertit en la valeur de x (je dois en fait ecrire un code me permettant de tracer le graphe d'une fonction math�matique)
cette valeur de x est l'absisse (d�cimale) avec quoi je trouve l'ordonn� (d�cimale �galement). j'avais donc d�clar� float ord. mais ensuite pour trouver la case de matrice correspondante, je dois arrondir, ce qui me donne ordarrondi, que j'ai d�clar� lui en int puisque je l'utilise par apres dans la matrice.
mon erreur de compilation se trouve donc au niveau de la ligne
Code:
ordarrondi= roundf(ord);
cette erreur dit :
[Warning] converting to `int' from `float'
je ne vois pas comment faire autrement puisque je ne peux pas utiliser de float dans une matrice
merci de trouver un solution