Modulo en C
Fermé
rayxx
-
11 févr. 2010 à 15:37
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 févr. 2010 à 16:11
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 févr. 2010 à 16:11
A voir également:
- Modulo en C
- Modulo 97 ✓ - Forum Excel
- Modulo en c - Forum C
- Modulo ✓ - Forum C++
- Calcul modulo grand nombre ✓ - Forum Programmation
- Modulo casio graph 35+ ✓ - Forum calculatrices
6 réponses
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
11 févr. 2010 à 15:41
11 févr. 2010 à 15:41
Je pense que le modulo ne marche pas pour un négatif...
Pour contourner ce problème, essaie :
- modulo de la valeur absolue de ton nombre => |-1|
- tu fais son modulo par rapport à 6 => 1
- tu fais : 6 - (le modulo => 1) = 5 !!
Ca devrait marcher ;)
Aplouch
Toopa
Pour contourner ce problème, essaie :
- modulo de la valeur absolue de ton nombre => |-1|
- tu fais son modulo par rapport à 6 => 1
- tu fais : 6 - (le modulo => 1) = 5 !!
Ca devrait marcher ;)
Aplouch
Toopa
merci, mais il y aurait pas une méthode un peu plus simple ? parce que la ça va me faire changer pas mal de truc dans mon programme si je fais comme ça.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 févr. 2010 à 15:46
11 févr. 2010 à 15:46
-1%6=-1
-20%6=-2
20%6=2
C'est un peu comme si il factorisait le "-"...
-20%6=-2
20%6=2
C'est un peu comme si il factorisait le "-"...
latoopa
Messages postés
258
Date d'inscription
dimanche 11 octobre 2009
Statut
Membre
Dernière intervention
5 janvier 2012
32
11 févr. 2010 à 15:50
11 févr. 2010 à 15:50
Tu trouves ca compliqué ?
Ca prend trois lignes :)
int nouvelleValeur = sqrt( pow(taValeur,2) ) ; // peut être meme que abs(taValeur) int modulo = nouvelleValeur % 6; int moduloFinal = 6 - modulo;
Ca prend trois lignes :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suis d'accord que c'est pas non plus super compliqué, c'est juste que je l'utilise plusieurs fois dans mon programme. Je pourrais rajouter la fonction modulo qui fait ces opérations mais bon, je me disais qu'il y avait peut être une méthode plus directe.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 févr. 2010 à 16:11
11 févr. 2010 à 16:11
ou alors, pour prendre en compte tout les cas :
modulo=i>0?i%6:6+i%6;