daughser > le probleme est que tu divises 2 int :
int a, int b :
a/b --> ça donne un int
apres, que tu le mettes dans un double par la suite, ça ne change rien, l´opération est faite !
Quand tu fais :
double r;
r=a/b;
l´ordi calcule d´abord a/b ( donc il tronque car c´est 2 int), puis ensuite il y met dans r : il cast alors le int ( déja tronqué donc) en double
fait comme te dit dnob
Ou alors :
r = a / ( (double)b);
la, tu cast d´abord b en double, tu fait donc int divisé par double --> ça donne un double, donc ça marche
ou alors, astuce :
r = a / ( 1.0*b);
multiplier par 1.0, c´est caster en double aussi, sans changer le résultat 