lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008
-
18 janv. 2008 à 03:28
lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008
-
21 janv. 2008 à 23:44
Salut tous le monde.
j'ai un petit problème avec mon programme. Je voudrais initialiser un tableau a deux dimension mais avec des données précise.C'est a dire dans un tableau[4][4] mettre 4 chiffres ou caractères par exemple. En fouinant un peu sur le site et d'autre j'ai fais un petit truc qui fonctionne d'ailleurs mais pas comme je le souhaite.certes ça affiche des x aléatoires mais leurs nombres est aussi aléatoire.
je vous demande votre aide merci
voici mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i,j,col,h,choix,ligne;
char dame[10][10]={'x','x','x','x','x','x','x','x'};
g=0;
srand(time(NULL));
printf("\n");
printf(" | A B C D E F I G K L\n");
printf("___________________________________________\n");
for (i=0;i<10;i++)
{
printf("\n");
printf("%d |",g);
g++;
for(j=0;j<10;j++)
{
printf(" %c |",dame[rand()%i][rand()%j] );
}
}
printf("\n");
system ("pause");
return 0;
}
Pistol_Pete
Messages postés1054Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 21 janv. 2008 à 13:17
Ben ca c'est totallement normal, vu que je n,es pas initialiser le rand.
Le rand sans initialisation sortira toujours la meme sequence de nombre.
Faut mettre un srand(time(NULL)). La, le rand est initialiser en fonction du temps donc le rand te generera une chaine differente a chaque execution.
nickydaquick
Messages postés416Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention19 décembre 20133 18 janv. 2008 à 15:28
Salut,
BruNews -> rien a redire pour l'initialisation
lil_adriano -> tu initialises mal ton tableau , tu utilises un tableau a 1 dimension pour initialiser un tableau a 2 dimension. Essaies plutot , si tu veux voir tes 'x'
char tab[4][4] = {{'x','x','x','x'},{'x','x','x','x'},{'x','x','x','x'},{'x','x','x','x'}};
je suis heureux de faire partie d'une grande famille ...!
Vous n’avez pas trouvé la réponse que vous recherchez ?
lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008 19 janv. 2008 à 01:06
Salut,
nickydaquick je ne veux pas avoir tout mon tableau avec des x mais avec un nombre fixé au préalable.
BruNews, certes ton programme est correcte mais c'est dans le but d'un projet que je cherche comment initialiser un tableau avec des données aléatoires, et comme je connais pas DWORD mais bon je vais faire quelque recherche pour bien l'utiliser.
Pistol_pete ton prob fonctionne mais il y a un petit probleme le même tableau réapparait.
mais merci pour votre aide et si vous avez d'autre tuyau n'hésitez pas!
lil_adriano
Messages postés42Date d'inscriptionvendredi 26 janvier 2007StatutMembreDernière intervention16 juin 2008 20 janv. 2008 à 23:36
Slt Pistol_pete ce que je veux dire part "le tableau réapparait " c'est ke c'est le meme tableau qui s'affiche. c'est a dire quand je compile le programe j'ai touve tous le temps le meme resultat : 0000100110100000.
Voici le programme que tu m'as envoyé
#include <stdio.h>
#include <stdlib.h>
main()
{ int i,j,Tab[4][4],Nb;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
Tab[i][j]=0; //initialisation de ton tab a 0
Nb=0;
do
{
i=rand()%4;
j=rand()%4;
if(Tab[i][j]==0){ //si la case est vide
Tab[i][j]=1;
Nb++;
}
}while(Nb<4);
for(i=0;i<4;i++)
{ printf("\n");for(j=0;j<4;j++)
{printf("%d",Tab[i][j]);}}
system ("pause");
return 0;
}