Mettre des mots dans un tableau en C
Résolu/Fermé
jutabary
Messages postés
15
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
1 octobre 2011
-
22 juin 2011 à 09:43
jutabary Messages postés 15 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 1 octobre 2011 - 22 juin 2011 à 23:09
jutabary Messages postés 15 Date d'inscription lundi 23 juin 2008 Statut Membre Dernière intervention 1 octobre 2011 - 22 juin 2011 à 23:09
A voir également:
- Tableau de mot en c
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
2 réponses
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
22 juin 2011 à 14:16
22 juin 2011 à 14:16
Bonjour,
la variable "t" est un simple tableau, lorsque vous faites t[i] vous vous placez sur une case du tableau et cette case fait la taille d'un char, donc vous ne pouvez y mettre qu'une lettre pas plus.
Il vous faut par exemple un double tableau pour y mettre des mots :
char tableau[100][20];
là il y a de la place pour 100 mots qui ont ont au maximum une longueur de 20 char (en prenant en compte le caractère null de fin de chaîne)
Exemple sans aucune vérification de dépassement (il faudrait prendre en compte qu'il peut y avoir plus de 100 mots et qu'un mot puisse faire plus de 19 char) :
la variable "t" est un simple tableau, lorsque vous faites t[i] vous vous placez sur une case du tableau et cette case fait la taille d'un char, donc vous ne pouvez y mettre qu'une lettre pas plus.
Il vous faut par exemple un double tableau pour y mettre des mots :
char tableau[100][20];
là il y a de la place pour 100 mots qui ont ont au maximum une longueur de 20 char (en prenant en compte le caractère null de fin de chaîne)
Exemple sans aucune vérification de dépassement (il faudrait prendre en compte qu'il peut y avoir plus de 100 mots et qu'un mot puisse faire plus de 19 char) :
#include <stdio.h> int main(void) { int i,j,c; char tableau[100][20]; const char *buffer="test pour mettre des mots dans un tableau"; for(c=j=i=0;buffer[i];i++) { if(buffer[i]!=' '){ tableau[j][c]=buffer[i]; c++; } else{ tableau[j][c]='\0'; c=0; j++; } } for(i=0;i<=j;i++) printf("%s\n",tableau[i]); return 0; }
jutabary
Messages postés
15
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
1 octobre 2011
22 juin 2011 à 23:09
22 juin 2011 à 23:09
je vous remercie :)