Mettre des mots dans un tableau en C

[Résolu/Fermé]
Signaler
Messages postés
15
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
1 octobre 2011
-
Messages postés
15
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
1 octobre 2011
-
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.


2 réponses

Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
53
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;
}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
15
Date d'inscription
lundi 23 juin 2008
Statut
Membre
Dernière intervention
1 octobre 2011

je vous remercie :)