conversion double -> int [c] - C - Programmation
Marsh Posté le 05-05-2004 à 16:21:13
ces fonctions se trouvent bien dans math.h ????
Mon compilateur ne fait aucune référence vers floor
Marsh Posté le 05-05-2004 à 16:31:35
En fait le système fait une troncature quand on convertit un flottant en entier, la dernière fois Taz avait aussi parlé de round(), perso je fais +/- 0.5 pour faire un arrondi.
Marsh Posté le 05-05-2004 à 16:33:21
merci Taz, je pense que ces fonctions peuvent m'aider mais meme en modifiant ma fonction :
Code :
|
J'ai toujours les mêmes erreurs
Marsh Posté le 05-05-2004 à 16:36:32
Nan, la référence marche bien, j'arrive à accéder à la fonction floor, mais mes résultats restent malgré tout les mêmes.
Marsh Posté le 05-05-2004 à 17:06:46
J'ai résolu le problème en trichant bien :
Code :
|
Le +/- 0.5 et la fonction floor ne marchant pas, j'ai triché comme un goret :-\
Maintenant ça marche mais le "+0.01" fait un peu bizarre au milieu du programme.
Merci à tous
Marsh Posté le 05-05-2004 à 21:47:55
+/-0.5 fonctionnent très bien, et c'est ce qui est globalement utilisé, n'en déplaisent aux autres ..
Marsh Posté le 05-05-2004 à 23:14:01
putain :
#include <math.h>
floor/ceil et gcc *.c -o truc.exe -lm
il ecrit transpaent Taz ???
Marsh Posté le 06-05-2004 à 13:37:10
Cricri_ a écrit : +/-0.5 fonctionnent très bien, et c'est ce qui est globalement utilisé, n'en déplaisent aux autres .. |
peut-être, mais chez moi ça ne fonctionnait pas
Marsh Posté le 06-05-2004 à 13:38:16
Joel F a écrit : putain : |
Non, faut juste deviner
Marsh Posté le 06-05-2004 à 14:12:06
fif_x a écrit : Non, faut juste deviner |
taz et moi t'avons donner la solution. Pint barre. je vois pas ou tu tergiverse
Marsh Posté le 07-05-2004 à 17:05:21
Vos solutions n'ont pas résoluent mon problème mais je vous remercie de m'avoir aider, je vois pas pourquoi tu t'énerves ...
J'ai tres bien compris ce qu'a voulu dire taz par son "-lm", il suffit juste de connaitre un peu le compilateur qu'on utilise ...
zeeeeeeeeeeeeeeeeeeen
Marsh Posté le 05-05-2004 à 16:08:59
Bonjour à tous !
alors j'ai une fonction toute simple de ce type la :
et en l'appelant plusieurs fois, j'obtiens ces résultats la :
1.000000
0
21.000000
20
7.000000
7
25.000000
24
4.000000
4
Ma question est : d'ou viens le problème de conversion et comment résoudre ce problème ?
On vois qu'à la conversion, mon int perd parfois une unité et parfois il n'en perd pas ...
Message édité par fif_x le 05-05-2004 à 16:10:12