[c]tableau de chaine de caractère
Résolu
informaticienne
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
quelqu'un porrait m'aider à remplir un tableau de chaine de caractère?
en premier:un tableau contenant une seule chaine
esemple:abricot
en deux:plusieurs chaines de caractèes.
exemple:
abricot
poire
pomme
fraises
merci, j'ai vraiment besoin de votre aide.
quelqu'un porrait m'aider à remplir un tableau de chaine de caractère?
en premier:un tableau contenant une seule chaine
esemple:abricot
en deux:plusieurs chaines de caractèes.
exemple:
abricot
poire
pomme
fraises
merci, j'ai vraiment besoin de votre aide.
Configuration: Windows XP Internet Explorer 6.0
16 réponses
-
-
-
tu peut faire deux structur de tableau l'un contien une seule chaine et l'autre plusier chaine.
-
Salut,
Le plus simple est de faire un tableau de chaînes de caractères comme tu l'as di bien dit :int *tab[]={"abricot","pomme","poire"};
Cdlt -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci fiddy , mais je veux que ce soit tapé par l'utilisateur.
en gros je voudrais la fonction saisie dans les deux exemples.
cdlt -
Salut,
Voici un exemplelami20j@debian:~/trash$ cat ccm25_tableauchaines.c #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char **s; char mot[50]; int n,i; printf("Entrez le nombre d'éléments : "); scanf("%d",&n); s = (char **) malloc(n * sizeof(char *)); for(i=0;i<n;++i){ printf("Saisissez un mot : "); scanf("%s",mot); s[i] = malloc(strlen(mot)); strcpy(s[i],mot); } for(i=0;i<n;++i) printf("%s\n",s[i]); for(i=0;i<n;++i) free(s[i]); free(s); return 0; } lami20j@debian:~/trash$ gcc ccm25_tableauchaines.c lami20j@debian:~/trash$ ./a.out Entrez le nombre d'éléments : 4 Saisissez un mot : abricot Saisissez un mot : poire Saisissez un mot : pomme Saisissez un mot : fraises abricot poire pomme fraises -
-
-
Re,
En fait il se compile mais tu ne vois rien à l'écran quand tu essaies de l'exécuter.
C'est ça?
Alors essaie celui-là#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char **s; char mot[50]; int n,i; printf("Entrez le nombre d'éléments : "); scanf("%d",&n); s = (char **) malloc(n * sizeof(char *)); for(i=0;i<n;++i){ printf("Saisissez un mot : "); scanf("%s",mot); s[i] = malloc(strlen(mot)); strcpy(s[i],mot); } getchar(); for(i=0;i<n;++i) printf("%s\n",s[i]); for(i=0;i<n;++i) free(s[i]); free(s); puts("Appuyez sur une touche pour quitter ..."); getchar(); return 0; }
-
-
-
-
-
Salut,
Je sais pas la solution que tu as adoptée, mais si tu fais un malloc et que tu utilises strlen, il ne faut pas oublier "+1" pour le '\0'.
s[i] =malloc(strlen(mot)+1);
Cdlt -
svp dit moi comment en peut faire déclaré et affiché et faire la lecture d'un tableau de chaine de caractère avec pointeur et sans pointeur en langage c et merci sv p rep moi maintenant car c'est urgent
-
@tassou12,
Ca aurait été mieux, je pense, d'ouvrir un autre post.
De plus, lami20j a fait un code répondant à tes questions. Il suffit juste de s'armer de lire les réponses ci-dessous ;-))).