cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008
-
22 avril 2008 à 12:43
cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008
-
27 avril 2008 à 18:02
bonjour a tous.
j'ai un probleme avec char er stract. enfaite j'ai fais 2 fonction. la 1ere qui doit initialisé un tableu avec une chaine de caractere = "" et la 2eme fonction qui doit rajouter "1" a la moitier du tableu et "0" a la 2eme moitié. le probleme c'est que quand j'utilise un p[ ] dans la 1ere fonction lors de l'affichange chaque case a 6 valeurs "000111" alor qu'elle devrais avoir qu'une. ou "1" ou "0". don j'ai fais un test et j'ai essayé avec un p2 [] (que j'ai initialisé a "2") et dans cette case j'obtien bien ce que je veut. Dans mon programme normalement je devrais avoir 256 case. Mais comme je peu pas faire 256 p[] est ce que qq1 pourais m'aider? car je vois pas comment faire.
je vous remercie d'avance pour votre reponse
cephalic
Messages postés38Date d'inscriptionjeudi 8 novembre 2007StatutMembreDernière intervention25 avril 2008 22 avril 2008 à 16:27
Bonjour
Je comprends pas tout ce que tu veux faire essaye d'être plus clair et surtout indente ton code c'est illisible comme sa.
Mais je vois déjà une erreur:
au niveau du premier for dans ta fonction d'init tu as :
for(i=0; i< 6 ;j++)
il faut le remplacer par
for(i=0; i< 6 ;i++)
Je ne sais pas si ton erreur vient de la car je n'ai pas tout compris mais c'est deja un début.
Tiens nous au courant.
cs_paulina82
Messages postés19Date d'inscriptionvendredi 3 juin 2005StatutMembreDernière intervention27 avril 2008 22 avril 2008 à 17:49
rebonjour,
tout d'abord je suis desolé pour la forme de la fonction. j'ai été sur knopix et il a enlevé tout les espaces et saut a la ligne
je join encor une fois la fonction. mon but est de ecrire une 1ere fonction qui initialise un tableau de chaine de caracteres a "" . ma 2eme fonction prend ce tableau et dans la 1ere moitié du tableau elle va rajouté un "0" a chaque case. puis dans la 2eme moitié elle va rajouté un "1". par ex si j'ai mon tableau vide et il a 6 case par ex j'aurais 000111. c'est a dire dans la 1ere case "0" dans la 2eme "0" .... par ex si je fais ma fonction avec ce nouveau tableau j'aurais 000000111111 dans la 1ere case j'aurais "00" dans la 2eme "00" .... ici dans chaque case du tableau (sauf la derniere j'ai 000111)
le probleme c'est qu'il faut une adresse differente pour chaque p[]. et comme je peut pas faire a la main 256 p[] (la j'ai essayé avec un p2[]) je voudrais savoir si qq1 conait une methode pour resoudre ce probleme ou peu etre une autre solution pour ma fonction. si qq1 pouvais m'aidé car je suis bloqué et je peut pas avancé
je vous remercie d'avance
Cyr62110
Messages postés65Date d'inscriptionvendredi 10 février 2006StatutMembreDernière intervention21 octobre 2009 22 avril 2008 à 18:47
char *tab[2560]; //Tu initialises un tableau de 2560 pointeur de type char
Et tu initialise cela bizarement
tab[i] = (char*)malloc((taille+1)*sizeof(char));
Voila pour une initialisation correcte des pointeurs.
taille+1 : pour eviter d'oublier de laisser de la place pour le '\0' de fin de chaine.
char *un = '1';
char *zero = '0';
Non il faut utiliser les options de precompilation si tu veux faire comme cela
#define un '1'
#define zero '0'
Voila pour ce qu j'ai vu,aprés j'ai pas le temps de testé ton programme.
Bye