Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1526 connectés 

  FORUM HardWare.fr
  Programmation
  C

  tableau de chaine de caractère : enregistrement

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tableau de chaine de caractère : enregistrement

n°2130716
Benh_31
Posté le 11-03-2012 à 01:05:45  profilanswer
 

Bonjour,
 
j'ai un petit problème en C : je voudrais faire un tableau de chaine de caractères : pas un simple tableau de char qui contiendrait pour chaque rang, 1 seul caractère, mais qui contiendrait pour chaque rang une chaine particulière entière de caractère.
 
j'ai voulu définir une structure qui contiendrait un type définit lui même par une chaine de char, pour pouvoir faire ce tableau mais ça ne marche pas :(
le voici :  
 

Code :
  1. typedef
  2. struct
  3. {
  4.     char mot[26];
  5. }
  6. bdd;
  7. typedef
  8. struct
  9. {
  10.     bdd tab[10];
  11. }
  12. liste;


 
si quelqu'un aurait une solution ça serait cool :)
 
merci d'avance.

mood
Publicité
Posté le 11-03-2012 à 01:05:45  profilanswer
 

n°2130733
Terminapor
I'll see you rise.
Posté le 11-03-2012 à 14:24:19  profilanswer
 

Tableau à deux dimensions / pointeurs sur pointeurs
 
char liste_mot[16][256]; te donnera un tableau de 16 chaines de caractères pouvant toutes contenir 256 lettres max, mais je te recommande plutôt les double pointeurs avec malloc (bien que ça dépend de ce que tu veux faire)


---------------
Perhaps you don't deserve to breathe
n°2130739
Benh_31
Posté le 11-03-2012 à 15:21:01  profilanswer
 

je ne connais pas suffisamment le C pour comprendre ça :s
je sais ( a peu près ) ce qu'est les pointeurs, mais pointeurs sur pointeurs je comprends pas trop :s  
 
en gros je peux marquer :  
 

Code :
  1. mot[1][]="bonjour";
  2. mot[2][]="bonsoir";
  3. etc...


 
 
en déclarant juste un truc du genre :

Code :
  1. char mot[const1][const2]; ?


Message édité par Benh_31 le 11-03-2012 à 15:24:07
n°2130743
gilou
Modérateur
Modzilla
Posté le 11-03-2012 à 16:09:01  profilanswer
 

Citation :

je ne connais pas suffisamment le C pour comprendre ça :s

Ben c'est le moment de t'y mettre, parce que la programmation vaudou, on n'en est pas fana sur ce forum.

Citation :

mot[1][]="bonjour";

C'est pas possible en C!
Il va te falloir utiliser une fonction comme strcpy.
A+,


Message édité par gilou le 11-03-2012 à 16:09:29

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2130744
Benh_31
Posté le 11-03-2012 à 16:30:02  profilanswer
 

je suis qu'en première année d'IUT informatique.. je peux pas aller plus vite que le programme...
 
enfin bon merci j'ai réussi à faire ce que je voulais
 
edit : j'ai un nouveau problème qui concerne toujours ce fameux tableau : je voudrais le faire passer en paramètre d'une fonction... mais je ne sais pas comment on passe les tableaux à deux dimensions...

Message cité 1 fois
Message édité par Benh_31 le 11-03-2012 à 18:05:09
n°2130753
Terminapor
I'll see you rise.
Posté le 11-03-2012 à 19:00:16  profilanswer
 

Tu dois préciser la taille de la hauteur :
 
void unefonction( int [14] [] untableau){}


---------------
Perhaps you don't deserve to breathe
n°2130801
Benh_31
Posté le 12-03-2012 à 02:43:07  profilanswer
 

merci :) j’essayerai demain

n°2130807
edwoud
⭐ shériff de l'espace
Posté le 12-03-2012 à 08:31:27  profilanswer
 

Benh_31 a écrit :

je suis qu'en première année d'IUT informatique.. je peux pas aller plus vite que le programme...
 
enfin bon merci j'ai réussi à faire ce que je voulais
 
edit : j'ai un nouveau problème qui concerne toujours ce fameux tableau : je voudrais le faire passer en paramètre d'une fonction... mais je ne sais pas comment on passe les tableaux à deux dimensions...


 
Un tableau à deux dimensions, c'est ça:
 
char **tableau_2_dim_dynamique; // qu'il faut allouer avec plusieurs malloc
 
ou ça
 
char tableau_2_dim_fige[10][20]; // 10 chaines de 19 caractères+1 zéro terminateur
 
pour envoyer ce tableau, le plus simple est d'envoyer le pointeur directement
 

Code :
  1. void ma_fonction(char **tableau, int nb_elements)
  2. {
  3. int i;
  4. for (i=0;i<nb_elements;i++) printf("%s",tableau[i]);
  5. }
  6. void main()
  7. {
  8. char tableau_2_dim_fige[10][20];
  9. /* insertion des chaines*/
  10. ma_fonction(tableau_2_dim_fige);
  11. }


Message édité par edwoud le 12-03-2012 à 08:33:33
n°2130833
Benh_31
Posté le 12-03-2012 à 11:20:42  profilanswer
 

Code :
  1. ma_fonction(tableau_2_dim_fige);


 
tu n'aurais pas oublié le nombre d'élément edwoud ?
 
moi j'ai fais comme toi mais mon compilateur me trouve un warning et quand j’exécute, ça plante
 
warning : passing arg 1 of 'ma_fonction' from incompatible pointer type
 
:(

n°2130834
edwoud
⭐ shériff de l'espace
Posté le 12-03-2012 à 11:27:06  profilanswer
 

Benh_31 a écrit :

Code :
  1. ma_fonction(tableau_2_dim_fige);


 
tu n'aurais pas oublié le nombre d'élément edwoud ?
 
moi j'ai fais comme toi mais mon compilateur me trouve un warning et quand j’exécute, ça plante
 
warning : passing arg 1 of 'ma_fonction' from incompatible pointer type
 
:(


 
oui, tout à fait :)
 

Code :
  1. ma_fonction(tableau_2_dim_fige,10);


 
Tu pourrais aussi laisser la dernière chaine vide (ou pointeur NULL dans le cas dynamique)
 
Et boucler tant que le pointeur n'est pas NULL ou que la chaine n'est pas vide. Ainsi, pas besoin de donner le nombre d'éléments.

mood
Publicité
Posté le 12-03-2012 à 11:27:06  profilanswer
 

n°2130842
Benh_31
Posté le 12-03-2012 à 11:46:13  profilanswer
 

oui mais je vais me contenter de faire passer le nombre d’éléments en paramètre ^^, c'est plus le passage du tableaux qui me pose problème :/
 
j'ai déclaré mon tableaux comme ça :  
 

Code :
  1. char montab[5]30];


 
et j'ai déclaré ma fonction comme ça :
 

Code :
  1. int bigword(char ** ptrouve,int i)


 
et quand j'appelle ma fonction je mets simplement :  
 

Code :
  1. int bigword(montab,i);


 
mais ça marche pas :/ mon warning persiste

Message cité 1 fois
Message édité par Benh_31 le 12-03-2012 à 11:49:21
n°2130865
edwoud
⭐ shériff de l'espace
Posté le 12-03-2012 à 13:36:37  profilanswer
 

Benh_31 a écrit :

oui mais je vais me contenter de faire passer le nombre d’éléments en paramètre ^^, c'est plus le passage du tableaux qui me pose problème :/
 
j'ai déclaré mon tableaux comme ça :  
 

Code :
  1. char montab[5]30];


 
et j'ai déclaré ma fonction comme ça :
 

Code :
  1. int bigword(char ** ptrouve,int i)


 
et quand j'appelle ma fonction je mets simplement :  
 

Code :
  1. int bigword(montab,i);


 
mais ça marche pas :/ mon warning persiste


 
Tu as écrit pour l'appel

Code :
  1. bigword(montab,i);

ou bien

Code :
  1. int bigword(montab,i);

? (le "int" est de trop)
 
Tu devrais même écrire: code_retour=bigword(montab,i); si ta fonction retourne vraiment quelque chose


Message édité par edwoud le 12-03-2012 à 13:37:34
n°2130940
Benh_31
Posté le 12-03-2012 à 15:52:46  profilanswer
 

oula désolé j'ai un peu mélangé mon code et ce que je voulais marquer : montab = ptrouve
 
et oui pardon a l'appel je mets pas le int


Message édité par Benh_31 le 12-03-2012 à 15:53:48
n°2130947
edwoud
⭐ shériff de l'espace
Posté le 12-03-2012 à 16:02:57  profilanswer
 

Et c'est quoi ton warning exactement?

n°2130971
Benh_31
Posté le 12-03-2012 à 16:53:02  profilanswer
 

ben ça :  
 
warning : passing arg 1 of 'ma_fonction' from incompatible pointer type

n°2131002
edwoud
⭐ shériff de l'espace
Posté le 12-03-2012 à 18:42:17  profilanswer
 

Ah ouais, j'pensais que ça marcherait (comme j't'avais dit, je ne fais jamais de tableaux claqués en dur, c'est pas beau)
 
 
Tu veux pas le faire avec des allocations dynamiques? :D

n°2131015
Benh_31
Posté le 12-03-2012 à 20:22:48  profilanswer
 

edwoud a écrit :

Ah ouais, j'pensais que ça marcherait (comme j't'avais dit, je ne fais jamais de tableaux claqués en dur, c'est pas beau)
 
 
Tu veux pas le faire avec des allocations dynamiques? :D


 
 
ben moi je suis ouvert à toutes propositions ^^ du moment que ça me fasse pas tout modifier mon code et que ça ne soit pas trop compliqué parce que je l'ai pas encore vu

n°2131024
Terminapor
I'll see you rise.
Posté le 12-03-2012 à 20:59:08  profilanswer
 

Tu connais déjà les pointeurs ?


---------------
Perhaps you don't deserve to breathe
n°2131026
Benh_31
Posté le 12-03-2012 à 21:01:56  profilanswer
 

moui plus ou moins, je sais que c'est l'adresse mémoire de la variable

n°2131054
Terminapor
I'll see you rise.
Posté le 13-03-2012 à 00:57:55  profilanswer
 

Nan, un pointeur c'est une variable qui contient une adresse, et c'est aussi utilisé comme tableau, du coups un pointeur sur pointeur c'est un tableau à deux dimensions, zieute des cours sur internet tu devrais y trouver ton bonheur ;)


---------------
Perhaps you don't deserve to breathe
n°2131102
gilou
Modérateur
Modzilla
Posté le 13-03-2012 à 12:01:36  profilanswer
 

Terminapor a écrit :

Nan, un pointeur c'est une variable qui contient une adresse, et c'est aussi utilisé comme tableau, du coups un pointeur sur pointeur c'est un tableau à deux dimensions, zieute des cours sur internet tu devrais y trouver ton bonheur ;)

Non!
Un pointeur ce n'est pas un tableau!
Un tableau en C, c'est une variable associée à zone mémoire allouée, et des mécanismes d'accès qui utilisent éventuellement la même syntaxe que celle des pointeurs (ie si tab est un tableau, tab + i pointe sur la zone mémoire associée a la  i-eme case de tab, tab[i]).
Un pointeur en C, c'est une variable qui contient une adresse. A priori, on ne sait rien du tout sur l'allocation mémoire de ce sur quoi pointe un pointeur [ie la zone mémoire qui a pour adresse la valeur du pointeur]. Peut être que ça pointe sur quelque chose d'alloué (une variable, qui peut être un tableau), peut être qu'on a alloué dynamiquement avec un malloc, ou peut être que ça pointe sur un truc pas alloué (en attente d'un malloc) ou plus alloué (après un free).
 
A+,


Message édité par gilou le 13-03-2012 à 12:07:49

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131241
Terminapor
I'll see you rise.
Posté le 14-03-2012 à 00:33:38  profilanswer
 

Oui mais je dis que c'est un tableau dans le sens où on peut manipuler comme un tableau, et que je pense que ça sera plus facile à manipuler qu'un vrai tableau en 2D :spamafote:


---------------
Perhaps you don't deserve to breathe
n°2131243
gilou
Modérateur
Modzilla
Posté le 14-03-2012 à 02:18:38  profilanswer
 

Vu que c'est quelqu'un qui connait pas bien le C, il vaut mieux éviter de lui rendre les choses confuses avec des assertions pas tout à fait justes.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131333
Benh_31
Posté le 14-03-2012 à 14:34:26  profilanswer
 

mais mon tableau à deux dimensions, lors de ma déclaration de fonction, il faut pas que je le le pense en tant que simple char * et non plus char ** ?

n°2131335
gilou
Modérateur
Modzilla
Posté le 14-03-2012 à 14:43:09  profilanswer
 

Non, non, c'est correct.
Mais il faut juste que tu te rappelles que c'est pas ton tableau que tu passes, mais son adresse, et que c'est pour ça que tu utilises les pointeurs.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131350
Benh_31
Posté le 14-03-2012 à 15:15:59  profilanswer
 

mais comment je fais pour "restituer" sa valeur de tableau à mon pointeur ?

n°2131352
gilou
Modérateur
Modzilla
Posté le 14-03-2012 à 15:20:55  profilanswer
 

Tu ne restitues pas, mais tu peux accéder au contenu de ton tableau, ce qui est en général la seule chose utile pour une fonction ou tu le passes par adresse.
 
Fais voir un peu ton code (l'ensemble et pas juste un bout insuffisant pour déterminer le pb, comme ce qui précède) si tu as toujours des pbs avec ton passage par adresse, qu'on diagnostique exactement ce qui se passe.
 
A+,


Message édité par gilou le 14-03-2012 à 15:24:46

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131385
Benh_31
Posté le 14-03-2012 à 17:48:00  profilanswer
 

Alors voila mon code, soyez indulgent il doit surement être sale mais j'ai fais du mieux que j'ai pu,
j'ai essayer de faire un espèce de pendu, où chaque mot trouvé, est un indice pour découvrir un nouveau mot par association des autre,
c'est à dire, avec les mot ballon, stade, zidane, on doit trouvé football par exemple.
 
mon .h qui contient la déclaration de mes fonctions :  
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int hung(char * pmot);    //pendu
  5. int freemod();  // jeux libre : pendu traditionnel
  6. int challenge();        //  fonction permettant de trouver les indices.
  7. int bigword(char ** ptrouve,int pi);        // fonction permettant de trouver le "super" mot
  8. void pendu(int pchance);        // fonction permettant d'afficher les dessin du pendu


 
l'appel de ma fonction "bigword" se trouve dans la sous fonction "challenge", le main n'est pas vraiment important c'est juste un menu, je vous le mets quand même :
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "fonction.h"
  4. #define kmax 26
  5. int main()
  6. {
  7.     int choix;
  8.     printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  9.     printf("\nThe goal is to discover five words like in the famous hang game." );
  10.     printf("\nThe five words give you clues. Then, when you have found all of the words,\nyou have to discover a new word which matches with the previous words\n\n\n" );
  11.     system("pause" );
  12.     system("cls" );
  13.     while(choix!=3)
  14.     {
  15.             printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  16.     printf("\nthere are 2 mods :\n\n1) Challenge mod\n2) Free Mod\n3) Exit\n\n" );
  17.     scanf("%d",&choix);
  18.     switch(choix)
  19.     {
  20.         case 1:
  21.             system("cls" );
  22.             challenge();
  23.             break;
  24.         case 2:
  25.             system("cls" );
  26.             freemod();
  27.             printf("\n" );
  28.             break;
  29.         case 3:
  30.             system("cls" );
  31.             exit(1);
  32.             break;
  33.         default :
  34.         printf("\nError, you can choose only 1) for Challenge mod, 2) for Free mod and 3) to quit" );
  35.         scanf("%d",&choix);
  36.         break;
  37.     }
  38.     system("pause" );
  39.     system("cls" );
  40.     }
  41.     system("pause" );
  42.     return 0;
  43. }


 
 
 
puis mes fonction : seule challenge et bigword sont importantes :
 
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include "fonction.h"
  5. #define kmax 26
  6. int hung(char * pmot)
  7. {
  8.       system("cls" );
  9.       printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  10.       int i;
  11.       int nb;   // nombre de caractères du mot
  12.       char tabRep[kmax];    // tableau contenant les caractères trouvés par le joueur
  13.       int chance=11;    // nombre de chance restante
  14.       char lettre;  // lettre saisie par le joueur
  15.       int ok=1; // 0 si mot trouvé 1 sinon
  16.       int rep=1; //0 si gagné 1 sinon
  17.       int win=2;
  18.       // détermination du nombre de caractère du mot et initialisation du tableau avec le caractère "_"
  19.       i=0;
  20.       nb=0;
  21.       while(pmot[i]!='\0')
  22.       {
  23.             nb++;
  24.             tabRep[i]='_';
  25.             i++;
  26.       }
  27.       //atribution premiere et dernière lettre du mot a trouver
  28.       tabRep[0]=pmot[0];
  29.       tabRep[nb-1]=pmot[nb-1];
  30.       tabRep[nb]='\0';
  31.       //affichage du mot en cour de "recherche"
  32.       for(i=0;i<nb;i++)
  33.       {
  34.           printf("%c ",tabRep[i]);
  35.       }
  36.       while((chance!=0)&&(rep==1))
  37.       {
  38.           ok=1;
  39.           printf("\n\n\nenter a letter : \n\n" );
  40.           pendu(chance+1);
  41.           fflush(stdin);
  42.           scanf("%c",&lettre);
  43.           // si la lettre saisie est la bonne, on la met dans le tableau tabRep au bon rang, sinon une chance en moins jusqu'a 0 chance
  44.           for(i=0;i<nb;i++)
  45.           {
  46.               if(pmot[i]==lettre)
  47.               {
  48.                   tabRep[i]=pmot[i];
  49.                   ok=0;
  50.               }
  51.           }
  52.           if(ok==1)
  53.           {
  54.               system("cls" );
  55.               printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  56.               for(i=0;i<nb;i++)
  57.               {
  58.                     printf("%c ",tabRep[i]);
  59.               }
  60.               chance--;
  61.               printf("\n\n\nerror, this letter isn't in the word, you no longer than %d trials\n\n",chance);
  62.               pendu(chance+1);
  63.               system("pause" );
  64.           }
  65.           for(i=1;i<nb-1;i++)
  66.           {
  67.               if(tabRep[i]==pmot[i])
  68.               {
  69.                   rep=0;
  70.               }
  71.               else
  72.               {
  73.                   rep=1;
  74.                   i=nb+1;
  75.               }
  76.           }
  77.           system("cls" );
  78.           printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  79.           // affichage du mot
  80.           for(i=0;i<nb;i++)
  81.           {
  82.               printf("%c ",tabRep[i]);
  83.           }
  84.       }
  85.       system("cls" );
  86.       if(rep==0)
  87.       {
  88.           printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  89.           printf("\n\nvictory !!! you win the level\n\n\n" );
  90.           for(i=0;i<nb;i++)
  91.           {
  92.               printf("%c",tabRep[i]);
  93.           }
  94.           printf("\n\n\n" );
  95.           win=0;
  96.       }
  97.       else
  98.       {
  99.           printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  100.           printf("\n\nsorry you lost the word was : \n\n" );
  101.           win=1;
  102.           for(i=0;i<nb;i++)
  103.           {
  104.               printf("%c",pmot[i]);
  105.           }
  106.           printf("\n\n\n" );
  107.           pendu(chance+1);
  108.       }
  109. return win;
  110. }
  111. int challenge()
  112. {
  113.     int courant;
  114.     int choix;
  115.     int cpt=0;  // numéro du mot actuel
  116.     int i=0;
  117.     char mot[5][30];
  118.     char trouve[5][30];
  119.     // initialisation des mot a trouvé : je m'occuperai plus tard de rentrer d'autre cas.
  120.     strcpy(mot[0],"island" );
  121.     strcpy(mot[1],"surf" );
  122.     strcpy(mot[2],"oceania" );
  123.     strcpy(mot[3],"sidney" );
  124.     strcpy(mot[4],"kangaroo" );
  125.     // tant qu'on a pas trouvé tous les 5 mots : appellé la fonction hung selon le choix de l'utilisateur via le menu
  126.     while(cpt<5)
  127.     {
  128.             system("cls" );
  129.             printf("\n\n                   Hung Man 3000\n\n" );
  130.     printf("\n\n\n\n\ndiscovered the word number %d : \n\n",cpt+1);
  131.     system("pause" );
  132.     system("cls" );
  133.     printf("\n\n                   Hung Man 3000\n\n" );
  134.     courant=hung(mot[cpt]);
  135.     // si le mot courant a été trouvé, on copie le mot courant dans le tableau ( fameux tableau à deux dimensions )
  136.     if(courant==0)
  137.     {
  138.         strcpy(trouve[i],mot[cpt]);
  139.         i++;
  140.     }
  141.     cpt++;
  142.     printf("\n1) Continue with a new clue\n2) Try to guess the word\n3) Go to the main menu \n" );
  143.     scanf("%d",&choix);
  144.         switch(choix)
  145.         {
  146.             case 1:
  147.                 break;
  148.                 system("cls" );
  149.             case 2:
  150.                 // appel de ma fonction bigword qui pose problème
  151.                 bigword(trouve,i);
  152.                 break;
  153.             case 3:
  154.                 return 0;
  155.                 break;
  156.             default:
  157.                 printf("\nError, enter again : " );
  158.                 printf("\n1) Continue with a new clue\n2) Try to guess the word\n 3) Go to the main menu\n" );
  159.                 scanf("%d",&choix);
  160.                 system("cls" );
  161.                 break;
  162.             }
  163.         }
  164. return 0;
  165. }
  166. void pendu(int pchance)
  167. {
  168.     switch(pchance)
  169.     {
  170.         case 11:
  171.         printf("\n      \n           \n           \n            \n             \n      \n   ______\n\n" );
  172.         break;
  173.         case 10:
  174.         printf("\n      \n      |     \n      |     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  175.         break;
  176.         case 9:
  177.         printf("\n      ________\n      |     \n      |     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  178.         break;
  179.         case 8:
  180.         printf("\n      ________\n      |  /     \n      |/     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  181.         break;
  182.         case 7:
  183.         printf("\n      ________\n      |  /   |\n      |/     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  184.         break;
  185.         case 6:
  186.         printf("\n      ________\n      |  /   |\n      |/     o\n      |      \n      |       \n      |\n   ___|___\n\n" );
  187.         break;
  188.         case 5:
  189.         printf("\n      ________\n      |  /   |\n      |/     o\n      |      | \n      |       \n      |\n   ___|___\n\n" );
  190.         break;
  191.         case 4:
  192.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /| \n      |       \n      |\n   ___|___\n\n" );
  193.         break;
  194.         case 3:
  195.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |       \n      |\n   ___|___\n\n" );
  196.         break;
  197.         case 2:
  198.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |     /  \n      |\n   ___|___\n\n" );
  199.         break;
  200.         case 1:
  201.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |     / \\ \n      |\n   ___|___\n\n\n" );
  202.         break;
  203.     }
  204. }
  205. int freemod()
  206. {
  207.     char mot[kmax];
  208.     system("cls" );
  209.     printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  210.     printf("\n\n player 1 : enter a word : " );
  211.     scanf("%s",mot);
  212.     system("cls" );
  213.     hung(mot);
  214.     return 0;
  215. }
  216. int bigword(char ** ptrouve,int pi)
  217. {
  218.     //indice
  219.     int i;
  220.     int n;
  221.     system("cls" );
  222.     printf("\n\n                   Hung Man 3000\n\n\n\n\n" );
  223.     printf("\nyou discovered these words : \n\n" );
  224.     // affichage des mots trouvés
  225.     for(i=0;i<=pi;i++)
  226.     {
  227.         n=0;
  228.         while(ptrouve[i][n]!='\0')
  229.         {
  230.             printf("%c",ptrouve[i][n]);
  231.             n++;
  232.         }
  233.         printf("\n" );
  234.     }
  235. system("pause" );
  236.     return 0;
  237. }

n°2131397
gilou
Modérateur
Modzilla
Posté le 14-03-2012 à 18:28:43  profilanswer
 

Ton message est juste un warning:
Tu déclares  
int bigword(char ** ptrouve,int pi);    
Mais à l'appel bigword(trouve,i); le compilo voit que le premier paramètre comme char *ptrouve[30] et il signale qu'il voit une différence avec le type déclaré (pas grave ici, car compatible)
Il suffit juste de caster à l'appel:
bigword((char **)trouve,i);
et le problème sera réglé
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131398
Benh_31
Posté le 14-03-2012 à 18:33:32  profilanswer
 

gilou a écrit :

Ton message est juste un warning:
Tu déclares  
int bigword(char ** ptrouve,int pi);    
Mais à l'appel bigword(trouve,i); le compilo voit que le premier paramètre comme char *ptrouve[30] et il signale qu'il voit une différence avec le type déclaré (pas grave ici, car compatible)
Il suffit juste de caster à l'appel:
bigword((char **)trouve,i);
et le problème sera réglé
A+,


 
 
trop fort :) merci beaucoup, mon warning est réglé, mais ça bug toujours.
 
une fois que j'ai réussi a récupéré mon pointer, comment je fais pour afficher les chaines de caractères pour chaque ran de i ?
 
j'ai fais ça :

Code :
  1. for(i=0;i<=pi;i++)
  2.     {
  3.         printf("\n%s",ptrouve[i]);
  4.         printf("\n" );
  5.     }


mais ça marche pa, ni ça :

Code :
  1. for(i=0;i<=pi;i++)
  2.     {
  3.         n=0;
  4.         while(ptrouve[i][n]!='\0')
  5.         {
  6.             printf("%c",ptrouve[i][n]);
  7.             n++;
  8.         }
  9.         printf("\n" );
  10.     }


Message édité par Benh_31 le 14-03-2012 à 18:39:24
n°2131409
gilou
Modérateur
Modzilla
Posté le 14-03-2012 à 21:34:25  profilanswer
 

Citation :

i=0; i<=pi

C'est toujours douteux, ça en C
Ce serait pas par hasard
i=0; i < pi
?
Et ceci est la bonne méthode en effet:
printf("\n%s",ptrouve[i])
 
Il marche pas ton code?
J'avais fait un essai avec island et ça avait l'air fonctionnel.
 
A+,

Message cité 1 fois
Message édité par gilou le 14-03-2012 à 21:35:06

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131419
Benh_31
Posté le 15-03-2012 à 00:11:35  profilanswer
 

gilou a écrit :

Citation :

i=0; i<=pi

C'est toujours douteux, ça en C
Ce serait pas par hasard
i=0; i < pi
?
Et ceci est la bonne méthode en effet:
printf("\n%s",ptrouve[i])
 
Il marche pas ton code?
J'avais fait un essai avec island et ça avait l'air fonctionnel.
 
A+,


 
non ça ne marche pas :/

n°2131422
gilou
Modérateur
Modzilla
Posté le 15-03-2012 à 02:23:23  profilanswer
 

Ah oui, désolé, j'avais pas les yeux en face des trous.
J'étais resté sur le cas habituel d'une déclaration comme:

Code :
  1. char *mot[]= { "island",
  2.       "surf",
  3.       "oceania" ,
  4.       "sidney" ,
  5.       "kangaroo" };


auquel cas le code donné marche.
 
Mais si tu as un tableau de taille constante, alors ça ne marche pas ainsi.
C'est en fait nettement plus simple:
Tu peux faire:
1) une déclaration
int bigword(char ptrouve[5][30], int pi);  
2) un appel
bigword(trouve,i);
3) un corps de fonction ou tu utilises ptrouve comme le tableau qu'il est
 
le tableau, est passé par adresse et non pas par copie, comme le petit programme exemple suivant te montre:
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. void printall(char p[5][30]) {
  5.     int k;
  6.     // impression du tableau
  7.     for (k = 0; k < 5; k++) {
  8.         printf("%s\n", p[k]);
  9.     }
  10.     // modif d'un élément
  11.     strcpy(p[1],"test" );
  12.     for (k = 0; k < 5; k++) {
  13.         printf("%s\n", p[k]);
  14.     }
  15.    
  16. }
  17. int main (int argc, char *argv[]) {
  18.     char mot[5][30];
  19.     int k;
  20.     strcpy(mot[0],"island" );
  21.     strcpy(mot[1],"surf" );
  22.     strcpy(mot[2],"oceania" );
  23.     strcpy(mot[3],"sidney" );
  24.     strcpy(mot[4],"kangaroo" );
  25.     printall(mot);
  26.     // vérification que printall a modifié le tableau durant l'appel
  27.     for (k = 0; k < 5; k++) {
  28.         printf("%s\n", mot[k]);
  29.     }
  30.     return 0;
  31. }


 
Notes qu'on peut avoir le paramètre intérieur non précisé, et donné par une variable:

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. void printall(char p[][30], int i) {
  5.     int k;
  6.     for (k = 0; k < i; k++) {
  7.         printf("%s\n", p[k]);
  8.     }
  9. }
  10. int main (int argc, char *argv[]) {
  11.     char mot[5][30];
  12.     strcpy(mot[0],"island" );
  13.     strcpy(mot[1],"surf" );
  14.     strcpy(mot[2],"oceania" );
  15.     strcpy(mot[3],"sidney" );
  16.     strcpy(mot[4],"kangaroo" );
  17.     printall(mot, 5);
  18.     return 0;
  19. }


C'est plus souple et souvent plus simple.
 
Une pratique encore plus standard serait d'agir ainsi:

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define SIZE_MOT 30
  5. typedef char mot[SIZE_MOT];
  6. void printall(mot p[], int i) {  // ou équivalent void printall(mot *p, int i)
  7.     int k;
  8.     for (k = 0; k < i; k++) {
  9.         printf("%s\n", p[k]);
  10.     }
  11. }
  12. int main (int argc, char *argv[]) {
  13.     mot tabmot[5];
  14.     strcpy(tabmot[0],"island" );
  15.     strcpy(tabmot[1],"surf" );
  16.     strcpy(tabmot[2],"oceania" );
  17.     strcpy(tabmot[3],"sidney" );
  18.     strcpy(tabmot[4],"kangaroo" );
  19.     printall(tabmot, 5);
  20.     return 0;
  21. }

C'est a dire de redéfinir ton tableau double comme un tableau simple pour un nouveau type de donnée que tu définir avec un typedef.
L'avantage est que le sens du premier paramètre, mot p[] est alors clair: p est un tableau de mot.
Bref, si tu as pas un vrai tableau 2D de données homogènes (comme le serait une image avec ses pixels), il y a aucune raison de rester en 2D.
 
A+,


Message édité par gilou le 15-03-2012 à 02:37:48

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131450
Benh_31
Posté le 15-03-2012 à 11:20:02  profilanswer
 

ben oui justement, au début j'avais définit une structure, mais ça marché pas ( premier post ^^ ) :

Code :
  1. typedef
  2.     struct
  3.     {
  4.         char mot[26];
  5.     }
  6.     bdd;
  7.     typedef
  8.     struct
  9.     {
  10.         bdd tab[10];
  11.     }
  12.     liste;


 
mais mon problème et je suis sur qu'il vient de la c'est cette instruction :  

Code :
  1. printf("\n%s",ptrouve[i]);


 


Message édité par Benh_31 le 15-03-2012 à 11:37:08
n°2131479
Terminapor
I'll see you rise.
Posté le 15-03-2012 à 12:35:23  profilanswer
 

&ptrouve[i], non ?


---------------
Perhaps you don't deserve to breathe
n°2131483
gilou
Modérateur
Modzilla
Posté le 15-03-2012 à 13:22:21  profilanswer
 

Mais tu as pas besoin de structs ici:
C'est complètement inutile (et ça va surement foutre le boxon, puisqu'un pointeur risque d'être interprété comme un pointeur sur un tableau de struct et non pas sur le tableau interne à la struct)
 
Il suffisait de faire  
typedef char mot[26];
typedef mot tab[10];
 
A+,


Message édité par gilou le 15-03-2012 à 13:25:02

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131487
gilou
Modérateur
Modzilla
Posté le 15-03-2012 à 13:28:07  profilanswer
 

Bon sinon, pour ton pendu, ceci est nettement plus lisible

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. // 12 dessins en comptant le premier vide
  5. // 10 lignes de 18 signes et un \0 en fin de ligne -> 181 chars
  6. static char pendu_state[12][181] = {
  7. //
  8.     "                 \n"
  9.     "                 \n"
  10.     "                 \n"
  11.     "                 \n"
  12.     "                 \n"
  13.     "                 \n"
  14.     "                 \n"
  15.     "                 \n"
  16.     "                 \n"
  17.     "                 \n",
  18. //
  19.     "                 \n"
  20.     "                 \n"
  21.     "                 \n"
  22.     "                 \n"
  23.     "                 \n"
  24.     "                 \n"
  25.     "                 \n"
  26.     "   _______       \n"
  27.     "                 \n"
  28.     "                 \n",
  29. //
  30.     "                 \n"
  31.     "                 \n"
  32.     "      |          \n"
  33.     "      |          \n"
  34.     "      |          \n"
  35.     "      |          \n"
  36.     "      |          \n"
  37.     "   ___|___       \n"
  38.     "                 \n"
  39.     "                 \n",
  40. //
  41.     "                 \n"
  42.     "      _________  \n"
  43.     "      |          \n"
  44.     "      |          \n"
  45.     "      |          \n"
  46.     "      |          \n"
  47.     "      |          \n"
  48.     "   ___|___       \n"
  49.     "                 \n"
  50.     "                 \n",
  51. //
  52.     "                 \n"
  53.     "      _________  \n"
  54.     "      | /        \n"
  55.     "      |/         \n"
  56.     "      |          \n"
  57.     "      |          \n"
  58.     "      |          \n"
  59.     "   ___|___       \n"
  60.     "                 \n"
  61.     "                 \n",
  62. //
  63.     "                 \n"
  64.     "      _________  \n"
  65.     "      | /    |   \n"
  66.     "      |/         \n"
  67.     "      |          \n"
  68.     "      |          \n"
  69.     "      |          \n"
  70.     "   ___|___       \n"
  71.     "                 \n"
  72.     "                 \n",
  73. //
  74.     "                 \n"
  75.     "      _________  \n"
  76.     "      | /    |   \n"
  77.     "      |/     o   \n"
  78.     "      |          \n"
  79.     "      |          \n"
  80.     "      |          \n"
  81.     "   ___|___       \n"
  82.     "                 \n"
  83.     "                 \n",
  84. //
  85.     "                 \n"
  86.     "      _________  \n"
  87.     "      | /    |   \n"
  88.     "      |/     o   \n"
  89.     "      |      |   \n"
  90.     "      |          \n"
  91.     "      |          \n"
  92.     "   ___|___       \n"
  93.     "                 \n"
  94.     "                 \n",
  95. //
  96.     "                 \n"
  97.     "      _________  \n"
  98.     "      | /    |   \n"
  99.     "      |/     o   \n"
  100.     "      |     /|   \n"
  101.     "      |          \n"
  102.     "      |          \n"
  103.     "   ___|___       \n"
  104.     "                 \n"
  105.     "                 \n",
  106. //
  107.     "                 \n"
  108.     "      _________  \n"
  109.     "      | /    |   \n"
  110.     "      |/     o   \n"
  111.     "      |     /|\\  \n"
  112.     "      |          \n"
  113.     "      |          \n"
  114.     "   ___|___       \n"
  115.     "                 \n"
  116.     "                 \n",
  117. //
  118.     "                 \n"
  119.     "      _________  \n"
  120.     "      | /    |   \n"
  121.     "      |/     o   \n"
  122.     "      |     /|\\  \n"
  123.     "      |     /    \n"
  124.     "      |          \n"
  125.     "   ___|___       \n"
  126.     "                 \n"
  127.     "                 \n",
  128. //
  129.     "                 \n"
  130.     "      _________  \n"
  131.     "      | /    |   \n"
  132.     "      |/     o   \n"
  133.     "      |     /|\\  \n"
  134.     "      |     / \\  \n"
  135.     "      |          \n"
  136.     "   ___|___       \n"
  137.     "                 \n"
  138.     "                 \n",
  139. };
  140. // Test
  141. int main (int argc, char *argv[]) {
  142.     int choix;
  143.     while (1) {
  144.         scanf("%d", &choix);
  145.         switch (choix) {
  146.         case 11:
  147.         case 10:
  148.         case  9:
  149.         case  8:
  150.         case  7:
  151.         case  6:
  152.         case  5:
  153.         case  4:
  154.         case  3:
  155.         case  2:
  156.         case  1:
  157.             printf("%s", pendu_state[choix]);
  158.             break;
  159.         case 0:
  160.             exit(0);
  161.             break;
  162.         default:
  163.             printf("\n" );
  164.             break;
  165.         }
  166.     }
  167.     return 0;
  168. }


 
qu'un truc comme ceci (équivalent, mais clair comme du jus de moule par une nuit sans lune)
 

Code :
  1. void pendu(int pchance)
  2. {
  3.     switch(pchance)
  4.     {
  5.         case 11:
  6.         printf("\n      \n           \n           \n            \n             \n      \n   ______\n\n" );
  7.         break;
  8.         case 10:
  9.         printf("\n      \n      |     \n      |     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  10.         break;
  11.         case 9:
  12.         printf("\n      ________\n      |     \n      |     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  13.         break;
  14.         case 8:
  15.         printf("\n      ________\n      |  /     \n      |/     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  16.         break;
  17.         case 7:
  18.         printf("\n      ________\n      |  /   |\n      |/     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  19.         break;
  20.         case 6:
  21.         printf("\n      ________\n      |  /   |\n      |/     o\n      |      \n      |       \n      |\n   ___|___\n\n" );
  22.         break;
  23.         case 5:
  24.         printf("\n      ________\n      |  /   |\n      |/     o\n      |      | \n      |       \n      |\n   ___|___\n\n" );
  25.         break;
  26.         case 4:
  27.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /| \n      |       \n      |\n   ___|___\n\n" );
  28.         break;
  29.         case 3:
  30.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |       \n      |\n   ___|___\n\n" );
  31.         break;
  32.         case 2:
  33.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |     /  \n      |\n   ___|___\n\n" );
  34.         break;
  35.         case 1:
  36.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |     / \\ \n      |\n   ___|___\n\n\n" );
  37.         break;
  38.     }
  39. }


C'est une question de style, mais la lisibilité, c'est important.
A+,

Message cité 1 fois
Message édité par gilou le 15-03-2012 à 13:35:00

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2131616
Benh_31
Posté le 15-03-2012 à 17:14:51  profilanswer
 

gilou a écrit :

Bon sinon, pour ton pendu, ceci est nettement plus lisible

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. // 12 dessins en comptant le premier vide
  5. // 10 lignes de 18 signes et un \0 en fin de ligne -> 181 chars
  6. static char pendu_state[12][181] = {
  7. //
  8.     "                 \n"
  9.     "                 \n"
  10.     "                 \n"
  11.     "                 \n"
  12.     "                 \n"
  13.     "                 \n"
  14.     "                 \n"
  15.     "                 \n"
  16.     "                 \n"
  17.     "                 \n",
  18. //
  19.     "                 \n"
  20.     "                 \n"
  21.     "                 \n"
  22.     "                 \n"
  23.     "                 \n"
  24.     "                 \n"
  25.     "                 \n"
  26.     "   _______       \n"
  27.     "                 \n"
  28.     "                 \n",
  29. //
  30.     "                 \n"
  31.     "                 \n"
  32.     "      |          \n"
  33.     "      |          \n"
  34.     "      |          \n"
  35.     "      |          \n"
  36.     "      |          \n"
  37.     "   ___|___       \n"
  38.     "                 \n"
  39.     "                 \n",
  40. //
  41.     "                 \n"
  42.     "      _________  \n"
  43.     "      |          \n"
  44.     "      |          \n"
  45.     "      |          \n"
  46.     "      |          \n"
  47.     "      |          \n"
  48.     "   ___|___       \n"
  49.     "                 \n"
  50.     "                 \n",
  51. //
  52.     "                 \n"
  53.     "      _________  \n"
  54.     "      | /        \n"
  55.     "      |/         \n"
  56.     "      |          \n"
  57.     "      |          \n"
  58.     "      |          \n"
  59.     "   ___|___       \n"
  60.     "                 \n"
  61.     "                 \n",
  62. //
  63.     "                 \n"
  64.     "      _________  \n"
  65.     "      | /    |   \n"
  66.     "      |/         \n"
  67.     "      |          \n"
  68.     "      |          \n"
  69.     "      |          \n"
  70.     "   ___|___       \n"
  71.     "                 \n"
  72.     "                 \n",
  73. //
  74.     "                 \n"
  75.     "      _________  \n"
  76.     "      | /    |   \n"
  77.     "      |/     o   \n"
  78.     "      |          \n"
  79.     "      |          \n"
  80.     "      |          \n"
  81.     "   ___|___       \n"
  82.     "                 \n"
  83.     "                 \n",
  84. //
  85.     "                 \n"
  86.     "      _________  \n"
  87.     "      | /    |   \n"
  88.     "      |/     o   \n"
  89.     "      |      |   \n"
  90.     "      |          \n"
  91.     "      |          \n"
  92.     "   ___|___       \n"
  93.     "                 \n"
  94.     "                 \n",
  95. //
  96.     "                 \n"
  97.     "      _________  \n"
  98.     "      | /    |   \n"
  99.     "      |/     o   \n"
  100.     "      |     /|   \n"
  101.     "      |          \n"
  102.     "      |          \n"
  103.     "   ___|___       \n"
  104.     "                 \n"
  105.     "                 \n",
  106. //
  107.     "                 \n"
  108.     "      _________  \n"
  109.     "      | /    |   \n"
  110.     "      |/     o   \n"
  111.     "      |     /|\\  \n"
  112.     "      |          \n"
  113.     "      |          \n"
  114.     "   ___|___       \n"
  115.     "                 \n"
  116.     "                 \n",
  117. //
  118.     "                 \n"
  119.     "      _________  \n"
  120.     "      | /    |   \n"
  121.     "      |/     o   \n"
  122.     "      |     /|\\  \n"
  123.     "      |     /    \n"
  124.     "      |          \n"
  125.     "   ___|___       \n"
  126.     "                 \n"
  127.     "                 \n",
  128. //
  129.     "                 \n"
  130.     "      _________  \n"
  131.     "      | /    |   \n"
  132.     "      |/     o   \n"
  133.     "      |     /|\\  \n"
  134.     "      |     / \\  \n"
  135.     "      |          \n"
  136.     "   ___|___       \n"
  137.     "                 \n"
  138.     "                 \n",
  139. };
  140. // Test
  141. int main (int argc, char *argv[]) {
  142.     int choix;
  143.     while (1) {
  144.         scanf("%d", &choix);
  145.         switch (choix) {
  146.         case 11:
  147.         case 10:
  148.         case  9:
  149.         case  8:
  150.         case  7:
  151.         case  6:
  152.         case  5:
  153.         case  4:
  154.         case  3:
  155.         case  2:
  156.         case  1:
  157.             printf("%s", pendu_state[choix]);
  158.             break;
  159.         case 0:
  160.             exit(0);
  161.             break;
  162.         default:
  163.             printf("\n" );
  164.             break;
  165.         }
  166.     }
  167.     return 0;
  168. }


 
qu'un truc comme ceci (équivalent, mais clair comme du jus de moule par une nuit sans lune)
 

Code :
  1. void pendu(int pchance)
  2. {
  3.     switch(pchance)
  4.     {
  5.         case 11:
  6.         printf("\n      \n           \n           \n            \n             \n      \n   ______\n\n" );
  7.         break;
  8.         case 10:
  9.         printf("\n      \n      |     \n      |     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  10.         break;
  11.         case 9:
  12.         printf("\n      ________\n      |     \n      |     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  13.         break;
  14.         case 8:
  15.         printf("\n      ________\n      |  /     \n      |/     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  16.         break;
  17.         case 7:
  18.         printf("\n      ________\n      |  /   |\n      |/     \n      |      \n      |       \n      |\n   ___|___\n\n" );
  19.         break;
  20.         case 6:
  21.         printf("\n      ________\n      |  /   |\n      |/     o\n      |      \n      |       \n      |\n   ___|___\n\n" );
  22.         break;
  23.         case 5:
  24.         printf("\n      ________\n      |  /   |\n      |/     o\n      |      | \n      |       \n      |\n   ___|___\n\n" );
  25.         break;
  26.         case 4:
  27.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /| \n      |       \n      |\n   ___|___\n\n" );
  28.         break;
  29.         case 3:
  30.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |       \n      |\n   ___|___\n\n" );
  31.         break;
  32.         case 2:
  33.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |     /  \n      |\n   ___|___\n\n" );
  34.         break;
  35.         case 1:
  36.         printf("\n      ________\n      |  /   |\n      |/     o\n      |     /|\\ \n      |     / \\ \n      |\n   ___|___\n\n\n" );
  37.         break;
  38.     }
  39. }


C'est une question de style, mais la lisibilité, c'est important.
A+,


 
 
 
je sais ^^ c'est un copain qui a voulu faire les dessins ^^ ça lui faisait plaisir ^^

n°2131618
Benh_31
Posté le 15-03-2012 à 17:17:58  profilanswer
 

Terminapor a écrit :

&ptrouve[i], non ?


 
 
yep :) déjà ça ne bug plus, ça marche même :)
ça me rajoute un warning mais bon au moins ça marche :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  tableau de chaine de caractère : enregistrement

 

Sujets relatifs
Scrollbar d'un tableau un peu complexe[Débutant] Module Turtle et Tkinter
Remplissage d'un tableau JavaScriptRecherche occurence dans une chaîne
déclarer un pointeur vers un tableau de tableaux ...?Trie tableau multidimension
A supprimerTableau indexé avec des chaînes, ok sous Easyphp, pb chez free
tableau dynamique java 
Plus de sujets relatifs à : tableau de chaine de caractère : enregistrement


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR