Posez votre question Signaler

Fonction floor() [Résolu]

Pimousse - Dernière réponse le 11 nov 2009 à 09:46
Bonjour, voila j'ai un probleme lorsque je compile mon programme, la fonction floor() me renvoie "inf". Ca fait une heure que je cherche, je desesspere. Voici mon programme, ne faites pas attention à la boucle, ce n'est pas encore terminé....
void dichotomie(double a,double b, double precision)
{
double c,e;
int i=0;
double p;
p= floor(sqrt(2)/precision); // avec precision=0,1
printf("%lf \n\n ",p); // renvoi inf alors que je devrais avoir 14
do
{
c = (a+b)/2;
if( f(a)*f(c) <0 )
{
b=c; i++;
}
else
{
printf("impossible \n");
break;
}
e=floor (c/precision);
}while( e!=p);
printf("Nombre itérations : %d racine 2= %lf \n", i,c);
}
Lire la suite 

Fonction floor() »

2 réponses
Réponse
+0
moins plus
si tu as eu Inf c'est juste que tu as dû faire une division par zéro avec des flottants.

En fait je me dis que tu as dû rentrer comme param de précision "0,1" au lieu de "0.1", non ?
ton 0,1 entré au clavier sera interprété comme 0. Le séparateur de décimales c'est le point en anglais, et donc en général dans la plupart des langages.
Ajouter un commentaire
Réponse
+0
moins plus
Le mieux pour éviter ce problème, c'est qu'au moment de la saisie de la précision, ton programme remplace les virgules par des points ;)
Ajouter un commentaire
Ce document intitulé « Fonction floor() » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook