Vous n êtes pas connecté
Page :1
Auteurs | Messages |
---|---|
moise | Posté à 22h07 le 20 Jun 13 |
Membre inscrit le 06/06/2013 Messages : 5 Localisation : | Bonjour je suis un samomoien, je voudrai savoir comment generer un nombre à deux chiffres je dis bien à deux chiffres pas plus ni moins en c. s'il vous plait... |
said | Posté à 04h13 le 21 Jun 13 |
Membre inscrit le 16/09/2012 Messages : 1513 Localisation : | Salut ! Personnellement, je ne suis pas là pour résoudre des exercices. Mais je peux quand même contribuer.
Nous voulons générer des nombres aléatoires, alors pas grave car avec la fonction rand et ou srand, nous pouvons arriver.
Ou bien faire ceci : choisir un nombre entre [0-99] et contrôler le nombre généré. Si ce nombre est inferieur ou egal 9, donc il s’agit d’un chiffre donc on lui ajoute 0 devant. On sait bien 1=01. Donc soit dans ce cas, on lui dit génère moi ce nombre avec un 0 en avant et on génère ce nombre et on l’affiche avec un 0 devant.
Bon voyons la méthode la plus simple, faisons ceci: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); int x=rand()%99; if (x <=9) printf ("Nombre genere: 0%d\n",x); else printf ("Nombre genere : %d\n",x); system("pause"); return 0; } Si tu veux générer 2 nombre, on peut faire ceci. #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i = 0; srand(time(NULL)); int x=rand()%99; for (i = 0; i < 2; i++) if (x <=9) printf ("Nombre %d : 0%d\n",i + 1, x); else printf ("Nombre %d : %d\n",i + 1, x); system("pause"); return 0; }
Comme je viens de le dire, je ne suis pas là pour resoudre des exercices, donc je ne fais que m'amuser. Sinon la realité c'est autre chose. Ensuite je n'ai pas testé le code pour savoir si ça marche ou pas. apparemment ça devrait marcher. |
moise | Posté à 18h59 le 21 Jun 13 |
Membre inscrit le 06/06/2013 Messages : 5 Localisation : | oui oui je vois, finalement j'ai trouvé une reponse ma question n'etais peut-etre pas très clair l'objectif etais d'utiliser un sous programme deux fois dans un programme pour generer deux nombres entier supérieur à 0 et inferieur à 100. et pour les deux variable a et b les nombres generer etaient tous les meme a chaque foi j'executais. j'ai dù enlevé le srand(time(NULL)) du sous programme car la remarque que j'ai fait c'est la double execution de ce programm ki me donnai les meme nombres c'est à dire: sous programme: int rand () { int aleat, i; srand(time(NULL)); for (i=0;i<=1;i++) { aleat=rand (); printf ("%d", aleat); } } bref c'est ce qui faisait que à chaque fois que je faisais appell à rand srand(time(NULL)) s'executais aussi or ça devait s'executer une seul foi dans le programme... et la j'ai dù faire ceci: sous programme: int rand () { int aleat, i; for (i=0;i<=1;i++) { aleat=rand (); printf ("%d", aleat); } } et oui sans le srand(time(NULL)); je vais directement le metre dans le programme avant meme la première appel du sous programme ci-dessus. et pour les nombres de 1 à 99 gè du faire celà: au lieu de aleat=rand (); j'ai fais aleat=1+rand ()%99; ( le 1 fais en sort que le 99 fass aussi partir des nombres) et pour enlever le 0 j'ai utilisé les boucles!!! lol!! merci ca meme et à la prochaine les samomoiens |
Samomoi |
Page : 1