shiver Posted October 26, 2006 Share Posted October 26, 2006 Bonjours à tous, Je viens ici car j'ai quelques problèmes, en effet je doit faire un "démineur" en C comme projet pour l'IUT, et pour cela il faut que je génère aléatoirement un tableau de 1 et 0(1 signifie qu'il y a une mine et 0 qu'il n'y en a pas), mais je rencontre de petites difficultés qui sont: J'ai réussie à générer une suite de 1 et de 0 aléatoire, mais j'ai une valeur qui vient de nul part voila mon code /*Directives d'inclusion*/ #include<stdio.h> #include<time.h> int main(void) { /*DONNEES D'ENTREE*/ /*variables d'entree initialisees*/ srand(time(NULL)); int a=rand(); /*variables d'entree non initialisees*/ int i; /*VARIABLES RESULTATS*/ /*VARIABLES AUXILIAIRES*/ /*DEBUT DES INSTRUCTIONS*/ for(i=0; i<6; i++){ printf("%d",a); a=rand()%2; printf("\n");} system("PAUSE"); /*Empeche la fenetre de se fermer à la fin du programme(sous windows)*/ return (0); } et voila un exemple de ce que j'obtient 13146 0 1 0 1 0 Mon deuxième problème c'est que je n'arrive pas à remplir un tableau à 2 dimension avec ces nombre aléatoires. je remercie tous ceux qui m'aiderons PS: je suis un première année de DUT informatique Link to comment Share on other sites More sharing options...
lelegume Posted October 26, 2006 Share Posted October 26, 2006 Alors pour ton chiffre qui vient de nulle part c'est tout bête ton premier rand tu ne lui donne pas de limite. ENsuite si tu fais comme ça : for(i=0; i<6; i++){ a=rand()%2; // tu prend un nombre aleatoire printf("%d",a); // puis tu l'affiches printf("\n");} ca marchera mieux. Enfin dans tous les cas pour le RAND, fait man rand ( si tu es sous linux) pour voir ce qu'ils conseillent car je crois que rand()% n'est pas optimal Ensuite pour remplir un tableau dim 2... c'est pas bien mechant int matrice [20][20]; for(i=0;i<20;i++) { for(j=0;j<20;j++) { matrice[i][j]=rand()%2; } } et voilà :-) Link to comment Share on other sites More sharing options...
shiver Posted October 26, 2006 Author Share Posted October 26, 2006 Merci, j'avous que j'étais parti dans des truc bien compliqué.... Link to comment Share on other sites More sharing options...
Sentinel Posted October 26, 2006 Share Posted October 26, 2006 On est prié de mettre les tags adéquats sur les titres des posts : [C] pour le langage, et [RESOLU] puisque la solution a été trouvée... (Cf les règles de la section Programmation). Sinon le forum deviendra rapidement illisible ! Link to comment Share on other sites More sharing options...
Quarky Posted October 26, 2006 Share Posted October 26, 2006 Sinon un petit rappel gentil () : ce serait sympa d'utiliser la balise quand vous en insérez dans vos posts. Link to comment Share on other sites More sharing options...
shiver Posted October 26, 2006 Author Share Posted October 26, 2006 désolé, le ferais plus.... Link to comment Share on other sites More sharing options...
lorinc Posted October 26, 2006 Share Posted October 26, 2006 bon, sauf que au passage, il est explicitement marqué dans le man de ne pas utiliser rand() avec un modulo... la formule à utiliser y est d'ailleurs marquée Link to comment Share on other sites More sharing options...
theocrite Posted October 26, 2006 Share Posted October 26, 2006 Oui enfin bon dans une base 2 et pour un démineur, l'erreur est négligeable Mais de toutes façons '%2' est plus lent que '&1' Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.