|
|
|
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int val1, val2, val3;
char buff[BUFSIZ];
srand((unsigned)time(NULL));
val1 = rand()%100;
val2 = rand()%100;
val3 = rand()%100;
sprintf(buff, "%d,%d,%d",val1,val2,val3);
printf("%s\n", buff);
return 0;
}
Salut,
en suivant le lien que tu as donné, j'ai écrit ceci pour avoir un nombre compris entre 0 et 100: #include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int val1, val2, val3;
char buff[BUFSIZ];
srand((unsigned)time(NULL));
//Pour avoir des nombres a>=0 et b<=100
val1 = (int)((float)rand()*(100+1)/(RAND_MAX+1));
val2 = (int)((float)rand()*(100+1)/(RAND_MAX+1));
val3 = (int)((float)rand()*(100+1)/(RAND_MAX+1));
sprintf(buff, "%d,%d,%d",val1,val2,val3);
printf("%s\n", buff);
return 0;
}
Le problème est que j'obtiens ceci : aleatoire.c: In function ‘main’: aleatoire.c:14: attention : débordement d'entier dans l'expression aleatoire.c:15: attention : débordement d'entier dans l'expression aleatoire.c:16: attention : débordement d'entier dans l'expression |
Salut,
Je voudrais savoir comment faire pour que le chiffre 100 puisse être pris en compte or avec mon code, ce n'est pas le cas. Ben, met au lieu de 100 met 101
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int val1, val2, val3;
char buff[BUFSIZ];
srand((unsigned)time(NULL));
val1 = rand()%101;
val2 = rand()%101;
val3 = rand()%101;
sprintf(buff, "%d,%d,%d",val1,val2,val3);
printf("%s\n", buff);
return 0;
} et 100 va sortir, aussi 0. J'ai testé.
lami20j |
Je voudrais savoir comment je pourrais pour faire apparaître les chiffres de 1 à 100 (merci pour le code de départ il m'a donné un peu espoir déjà)
Merci d'avance |
Tu veux un tirage aléatoire ou afficher tous les chiffres de 1 à 100 ?
Si c'est le premier cas, le code est au dessus (et génère 3 nombres), si c'est le deuxième : int main()
{
int i=1;
while (i < 101)
{
printf("%d ",i);
i++;
}
return 0;
} Ca te les affichera tous à la suite ... Tu peux introduire des sauts de ligne avec \n dans le printf.
T'as pensé à regarder sur Google avant de poser ta question ? |
Pour un nombre entre 1 et 100
1 + rand() % 100 -------------------------------------------------------- L'informatique est un long fleuve pas tranquille !!! |
plus général. On veut un interval [xmin,xmax]
alors la solution est: rand()%(xmax-xmin+1)+xmin; voila, pour anticiper la prochaine question : et pour avoir des nombre alléatoire compris entre 1 et 101, comment faut-il que je fasse ? Salutation ! Char Snipeur |
aucun des codes ne marchent j'ai besoin d'un code de tirage au sort de 1 a 100 et un autre de 1 à 3
des codes en entier qui marche svp merci ce qui m'aide |
Salut!
Si tu veux un code de tirage au sort de 1 a 100 et un autre de 1 à 3, je te propose ceci: #include <stdio.h> #include <stdlib.h> #include <time.h> main() { /* déclarations */ int i; int ch100,ch3,ch3_1,ch3_2,ch3_3; srand(time(NULL)); /* boucle pour 5000 tirages, histoire de voir ci 1 et 100 sont pris en compte */ for (i=0;i<5000;++i) { /* Nb de 1 a 100 */ ch100 = rand () % 100; /* Nb de 1 a 3 */ ch3 = rand () % 3; /* affichage */ printf ("*** TIRAGE No %d:\nNb hazard de 1 a 100: %d\nNb hazard de 1 a 3: %d\n",i+1,ch100+1,ch3+1); /* test pour voir si 1 et 100 sont bien pris en compte */ if (ch100+1==100 || ch100+1==1) { printf("\n* TOUVE %d au tirage: %d *\n",ch100+1,i+1); system ("pause"); } } system("PAUSE"); return 0; } Maintenant, si tu veux un code qui tire au sort 3 chiffres de 1 a 100 je te propose ceci: #include <stdio.h> #include <stdlib.h> #include <time.h> main() { /* déclarations */ int i; int val_1,val_2,val_3; srand(time(NULL)); /* 3 Nb de 1 a 100 */ val_1 = rand () % 100; val_2 = rand () % 100; val_3 = rand () % 100; /* affichage */ printf ("*** TIRAGE de 3 nombres entre 1 et 100:\n\n" "nombre 1: %d\nnombre 2: %d\nnombre 3: %d\n\n",val_1+1,val_2+1,val_3+1); system("PAUSE"); return 0; } En fait, il faut ajouter 1 à ta valeur de base. |
désolé sa ne marrche aps |
Salut, antoine03
Quelle est ta question precise? Car les 2 petits progs que je t'ai donnés plus haut fonctionnent bel et bien à condition que tu soit sous Windows Xp ou 98 pour la compilation et l'execution. Si tu es sous Vista, il faut trouver le bon compilateur avec d'éventuelles retouches (ex: IccWin32), mais l'exe marche tout aussi bien. (Les 2 progs ci-dessus ont été fait en C sous dev Cpp). |
des xp et 98 on en trouve plus en magazin bien sur que j'ai vista xD
je n'y connais rien du tous moi je cherhe un tirage au sort de 1 à 100 pour que sa tire au sort un seul numéro de 1 à 100 et un autre de 1à3. |
Voici donc un prog que tu peux recopier, et qui t'affichera 1 nombre au hazard de entre 1 et 100, et un autre entre 1 et 3.
Chaque fois que tu relanceras le prog, tu auras un chiffre different entre 1 et 100 etun autre entre 1 et 3. Dans tous les cas, le resultat n'affichera jamais 0, mais il pourra afficher 100 pour de 1 à 100 et 3 pour de 1 à 3. Si tu fais un copier-coller de ce prog dans Iccwin32, ou visual, tu auras le resultat decrit plus haut! #include <stdio.h> #include <stdlib.h> #include <time.h> main() { /* déclarations */ int nb1_100,nb1_3; srand(time(NULL)); /* Nb de 1 a 100 au hazard */ nb1_100 = rand () % 100; /* Nb de 1 a 3 au hazard */ nb1_3 = rand () % 3; /* affichage */ printf ("*** Nb pris au hazard de 1 a 100: %d\n*** Nb pris au hazard de 1 a 3: %d\n",nb1_100+1,nb1_3+1); system("PAUSE"); return 0; }
|
d'accord merci donc il me reste plus qua installé Iccwin32 ou visual c'est bien sa ? |
Oui.Pourquoi, tu utilise quoi comme compilateur? |
je croyais t'avoir dis que je n'y connaisé rien donc je te le dis je n'y coné rien mdr enfaite je sais pas se que c'est un compilateur on peus dire que j'en aprend tous les jours moi j'avais fais copier collé sur mon site en croyant que sa allez marché mdr !!!!
|
| 18/05 04h22 | Lutter contre le spam | Spam |
| 23/10 22h14 | Liste doublement chaînée | Langage C |
| 08/11 10h32 | [Javascript] Lien aléatoire / Choisir un lien au hasard | Javascript |
| 01/05 15h00 | Overclocking des cartes mères à chipset P35 | Overclocking |
| 24/04 12h25 | [Linux] Utiliser la commande "su" | Linux |
| 07/04 13h50 | Tirage aleatoire de caractere en C | 12 |
| 28/01 14h49 | Tirage aléatoire nombre postif et négatif C++ | 2 |
| 16/04 21h43 | Cherche Aide Réalisation Tirages Aléatoires | 0 |
| 01/08 12h00 | Excel - Fct plage+critère dynamique aléatoire | 6 |
![]() | CCleaner - CCleaner (Crap Cleaner) est un utilitaire de nettoyage gratuit permettant de garantir un respect de la vie privée en... | Catégorie: Anonymat/Confidentialité Licence: Freeware/gratuit |
![]() | Vista Codec Package - Vista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart... | Catégorie: Codecs Licence: Freeware/gratuit |
![]() | Free Mp3 Wma Converter - Free Mp3 Wma Converter permet de convertir tout vos fichiers Mp3 , Wma , Ogg , AAC , m4a , mp4 , Ape , flac, Wav : ... | Catégorie: Conversion Licence: Freeware/gratuit |
![]() | CD Burner XP - CD Burner XP est un logiciel de gravure complet possédant les fonctionnalités suivantes : Grave tous types de médias, à... | Catégorie: Gravure Licence: Freeware/gratuit |
![]() | Sony CMT-CPZ2 | Catégorie: Chaîne Hi-Fi | 181.00 € Ubaldi |
![]() | Philips SPD3400CC CD-RW/DVD+/-RW (+/-R | Catégorie: Graveur CD/DVD | 58.60 € Misco FR |
![]() | Sony CMTU1 | Catégorie: Chaîne Hi-Fi | 217.68 € Dimipro |
![]() | Benq CRW5232X IDE / | Catégorie: Graveur CD/DVD | 222.89 € Amazon.fr |