Boucle infini
Résolu/Fermé4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 836
11 déc. 2008 à 12:12
11 déc. 2008 à 12:12
Salut,
C'est normal, en fait la comparaison entre double ou float est délicate car approximée par des binaires en mémoire.
En fait en C, deux doubles sont égaux si leur différence est très faible (0.0001 par exemple).
Dans ton cas, tu peux faire encore plus simple, en mettant i<=1.0 à la place de i!=1.0 dans ta boucle for.
Cdlt
C'est normal, en fait la comparaison entre double ou float est délicate car approximée par des binaires en mémoire.
En fait en C, deux doubles sont égaux si leur différence est très faible (0.0001 par exemple).
Dans ton cas, tu peux faire encore plus simple, en mettant i<=1.0 à la place de i!=1.0 dans ta boucle for.
Cdlt
ljm972
Messages postés
254
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
6 décembre 2021
29
11 déc. 2008 à 12:14
11 déc. 2008 à 12:14
ça l'air drôle , ça doit être l'erreur sur la mesure
à la place != met < ou <= , enfin tu comprend
à la place != met < ou <= , enfin tu comprend
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
11 déc. 2008 à 12:15
11 déc. 2008 à 12:15
bonjour,
Mon C est loin, mais ça serait pas plutôt..
i=i+0,1
A+
Mon C est loin, mais ça serait pas plutôt..
i=i+0,1
A+
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 836
11 déc. 2008 à 12:17
11 déc. 2008 à 12:17
i+=0.1 signifie i=i+0.1...
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
11 déc. 2008 à 12:25
11 déc. 2008 à 12:25
Hum.. oui, comme j'ai dit, c'est loin tout ça.
A+
A+