Mettre des mots dans un tableau en C

Résolu
jutabary Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
jutabary Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
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.


A voir également:

2 réponses

Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   54
 
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) :
#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;
}
2
jutabary Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
je vous remercie :)
0