Affiche les mots distincts d'une ligne

Signaler
Messages postés
43
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
22 mai 2010
-
Messages postés
43
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
22 mai 2010
-
bonjour à tous, je voudrais bien savoir comment afficher les différents mpots distincts d'une phrase qui finit par un points.tout en affichant pour chaque mot le numéro de la ligne et le num du mots.
Exple: Il est un champion de football
Il: (1,0)
est(1,1)
un(1,2)
champion(1,3)
de(1,4)
football(1,5)

merci

2 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
14
C'est pas bien compliqué. Fait rapidement:
int ligne 1, mot 1, len;

char src[] = "Bonjour.\nCeci est un test.\nJe test.", *c = src;
char dest[300];

while(1) {
    __loop:
        if(!*c) break;        else if(*c '.') mot 1;
        else if(*c == '\n') ligne++;
        else if(*c != ' ') goto __endloop;
   
        c++;
        goto __loop;
    __endloop:

    len = 0;

    while(*c && *c != ' ' && *c != '.' && *c != '\n')
        dest[len++] = *c++;

    dest[len] = 0;

    printf("%s (len: %d - ligne: %d - mot: %d)\n",
        dest, len, ligne, mot++);
}

C++ (@++)<!--
Messages postés
43
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
22 mai 2010

Merci SAKingdom de ta reponse, maisle probleme s'est evolué voila :
J'ai un ficher texte qui contient des lignes separoes par un retour chariot;
chasue ligne contient des mots
le but c'est d'extraire les different mots du texte sans citer les occurence, mais il faut afficher pour chaque mot le num de la ligne ou il se trouve et le num de la position.
Exemple : Boris est un champion .
Je suis un champion
Normallement ca sera un tableau qui afficher les reusltat svts:
Boris(1,0)
est(1,1)
un (1,2),(2,2)
champion(1,3)(2,3)

MErci d'avance