Aller au contenu

[C][Résolu]Probléme avec les tableau


shiver

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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à :-)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...