dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 2 déc. 2005 à 23:39
ya besoin d'etre un pro des maths pour faire une division? lol
Ca veut dire koi doigt[X% 5] vecchio56?
Moi ce que je vois c'est pour 14 par exemple:
14/5=2.8=2*5+4 et 4 le reste correspond au rang du doigt : index ou annulaire tout depend dans quel sens tu pars :)
donc en C pour obtenir le reste tu peux faire:
int nb= 14;
float a=(float)nb/5.0f; //a=2.8
int reste=(int)(a-nb/5)*5; //reste= (2.8-E(14/5))*5, E(x) etant la partie entiere de x
et donc dans la variable reste il ya le rang du doigt entre 1 et 5 si nb n'est pas multiple de 5, sinon reste=0 et alors ca correspondera tjrs au 5eme doigt!
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 2 déc. 2005 à 23:44
euh a mon avis au niveau des cast ca doit etre un peu plus compliqué pour pas avoir de warning...
Je pense que c'est plutot ca:
int nb= 14;
float a=(float)nb/5.0f; //a=2.8
int reste=(int)(a-(float)(nb/5))*5; //reste= (2.8-E(14/5))*5, E(x) etant la partie entiere de x
il faut en fait toujours veiller a ce que les operations soient faites uniquement entres variables du meme type...
Enfin je dis ca mais ya surement deja une fct en C qui fait la division euclidienne! Mais je me souviens pas du nom...
Vous n’avez pas trouvé la réponse que vous recherchez ?
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 2 déc. 2005 à 23:48
waw c'est presque du direct! lol!
Je pense qu'il y a quand meme une erreur... lorsque x est un multiple de 5 ca fait 0 et non 5 si on dit que 1 est le 1er doigt