Mettre des mots dans un tableau en C
Résolu
jutabary
Messages postés
15
Statut
Membre
-
jutabary Messages postés 15 Statut Membre -
jutabary Messages postés 15 Statut Membre -
Bonjour,
J'aimerais mettre un texte dans un tableau (en C) mot par mot pour ensuite pouvoir les trier. Mais je ne sais pas du tout comment faire, pourriez-vous me proposer une solution.
je pensais qu'il fallait faire un programme de ce type mais je ne suis absolument pas sûre.
char c;
char i;
char t[1000000];
for (i=0; i=EOF ;i++)
{
while (c!=' ')
t[i]= mot;
}
je vous remercie d'avance.
J'aimerais mettre un texte dans un tableau (en C) mot par mot pour ensuite pouvoir les trier. Mais je ne sais pas du tout comment faire, pourriez-vous me proposer une solution.
je pensais qu'il fallait faire un programme de ce type mais je ne suis absolument pas sûre.
char c;
char i;
char t[1000000];
for (i=0; i=EOF ;i++)
{
while (c!=' ')
t[i]= mot;
}
je vous remercie d'avance.
A voir également:
- Tableau de mot en c
- Tableau word - Guide
- Trousseau mot de passe iphone - Guide
- Tableau ascii - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
2 réponses
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; }