CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Modulo en C

Blaugrana_10
Blaugrana_10
Niveau 30
27 septembre 2013 à 20:45:53

Bonsoir,

Dans un prog j'ai besoin de calculer des modulos.
Seulement j'ai un probleme quand j'ecris dans monr prog -3%23, il me retourne -3 alors que la valeur que je veux est 20.
C'est quoi le probleme ?

Merci d'avance

Pazta
Pazta
Niveau 6
27 septembre 2013 à 21:03:40

Ça fait un peu de temps que j'y ai pas touché mais il faut pas un espace ? :(

Google_Bot
Google_Bot
Niveau 14
27 septembre 2013 à 21:12:12

C'est le résultat correct pour ton calcul. -3 = 0*23 + (-3) , le "reste" est donc bien -3.

Pazta :d) Non.

ryviel
ryviel
Niveau 5
27 septembre 2013 à 21:12:43

Il me semble qu'en C, le résultat est du même signe que l'opérande de gauche (donc ici -3). Pas sûr de moi par contre

Blaugrana_10
Blaugrana_10
Niveau 30
27 septembre 2013 à 21:16:01

J'ai trouvé sa et sa marche donc voila si vous avez de meilleurs solutions :-)

En maths -3 mod 23 sa fait 20 :(

((((-3) % 26) + 26) % 26)

Blaugrana_10
Blaugrana_10
Niveau 30
27 septembre 2013 à 21:17:18

Ah merde j'ai ecris l'exemple dont j'avais besoin :hum:

En gros faut faire : ((((a)%b)+b)%b)

Benbdev
Benbdev
Niveau 4
27 septembre 2013 à 21:21:02

Implémentation correcte .Net(je sais pas si les itération sur une ligne se font en C):
a=-3
n=23

a<0?((a % n) + n) % n:a%n

Explication :
Il existe 3 type de modulo. Si le résultat attendu n'est pas bon et est négatif, c'est parce que le compilateur choisit le type "modulo tronqué" qui retourne un nombre du même signe que le dividende et ne respecte donc pas la loi modulaire.

Blaugrana_10
Blaugrana_10
Niveau 30
27 septembre 2013 à 21:22:53

D'accord c'est tout donc, bon merci et bonne soirée :-)

Benbdev
Benbdev
Niveau 4
27 septembre 2013 à 21:23:43

structures conditionnelles*

Blaugrana_10
Blaugrana_10
Niveau 30
27 septembre 2013 à 21:40:44

J'ai encore une question mais qui n'a aucun rapport avec le topic.

Voila j'ai une fonction qui a ce prototype là :
void fonction(char* nomFichierEntree, int test, char* nomFichierSortie)

J'utilise un trois scanf pour recuperer la valeur de mes trois arguments, les variable etant de Types char* et int.

Pour appeler la fonction, je fais fonction(&fichierEntree, test, &fichierSortie);

Seulement il semble que les fichiers ne soit pas reconnus par la fonction.

ryviel
ryviel
Niveau 5
27 septembre 2013 à 22:01:09

Si tes variables sont déjà de type char* , pourquoi vouloir donner à la fonction des adresses de char* ? Pas besoin de "&" dans ce cas là.

Blaugrana_10
Blaugrana_10
Niveau 30
27 septembre 2013 à 22:16:16

Oui non je dit n'importe quoi jsui fatigué :-(
Probleme resolu merci de m'avoir aidé en tout cas :)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment