Bonjour j'ai fini mon programme mais j'ai remarqué que pour le niveau 3 et 4 lorsque l'ordinateur choisi le nombre mystère il est toujours dans la moitié inférieur de la valeur max
Quand un nombre aléatoire est choisi, c'est entre 0 et RAND_MAX, une constante qui dépend du compilateur, du système d'exploitation, etc. Récemment il y avait eu un problème similaire parce que RAND_MAX ne faisait que 32767. Même si on voulait un nombre entre 1 et 100.000, le programme ne pouvait pas aller plus haut que 32767.
Bref : tu devrais afficher RAND_MAX. S'il vaut 32767, on saura pourquoi tu ne peux pas avoir de grands nombres.
(Si c'est bien ça le problème, une solution pourrait être de faire rand()+rand()+rand() : ça donnera un nombre entre 0 et 98301, c'est déjà mieux.)
Je ne sais pas pourquoi certains compilateurs ont RAND_MAX = 32767. Peut-être une raison historique : les premiers générateurs de nombre aléatoire devaient fonctionner sur des ordinateurs ayant peu de mémoire, donc on a développé un algorithme de génération de nombre aléatoire fonctionnant sur des entiers de 2 octets (32767, c'est la limite des entiers signés de 2 octets), et peut-être que certains compilateurs modernes ont conservé cet algorithme ? C'est juste une hypothèse.
Ce qui est sût, c'est qu'on n'a pas tous la même valeur. J'utilise GNU C, j'ai RAND_MAX = 2 milliards et quelques, la valeur maximale des entiers signés de 4 octets. Tu utilises aussi GNU C ? (Mais je crois que ça dépend aussi du système d'exploitation et peut-être aussi du type de machine : 32 ou 64 bits.)
Non , moi j'utilise Code blocks et moi j'ai 64 bits
Il ne faut pas confondre IDE et compilateur / linker. CB est incapable de compiler un code (quelque soit le langage) et de fournir un exécutable. CB fait appel à une chaine externe de création d'exécutable, comme gcc par exemple.
Et gcc, lui, est incapable de gérer l'édition de ton code source.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Non , moi j'utilise Code blocks et moi j'ai 64 bits
Je ne crois pas que ce problème ait un rapport avec l'IDE, pour la raison indiquée par edgarjacobs (un IDE ne compile pas).
Tu as un ordinateur 64 bits, probablement un système d'exploitation 64 bits, mais ce n'est pas pour autant que le compilateur est en 64 bits. Quand j'utilisais Windows 7 sur un ordinateur 64 bits, c'était bien la version de Windows en 64 bits, pourtant la grande majorité des programmes étaient des versions 32 bits y compris GNU C (ainsi les pointeurs faisaient 4 octets, pas 8). Depuis, plusieurs années se sont écoulés et Windows en est au n°10, donc j'imagine que presque tous les programmes tournent en 64 bits, mais c'est pour dire que ça ne prouve rien...
- Edité par robun 16 novembre 2018 à 23:14:49
Problème au niveau de la sélection du nombre
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Remember, remember, the fifth of November, Gunpowder Treason and Plot, I see no reason why the gunpowder treason should ever be forgot.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent