Bonsoir,
alors voilà j'ai un exercice à faire et je bloque dessus.
voici l’énonce
"nous souhaitons créer un tableau dont chaque élément va contenir un mot de la phrase saisit"
Mon raisonnement :
- vu que je ne connais pas le nombre de mot de la phrase je vais d'abord mettre chaque mot dans une liste linéaire chaîne.
-pour ma procédure je vais chercher le blanc dans la phrase en faisons varier une variable de 0 jusqu’à sizeof phrase
* si je ne trouve pas d'espace je concate
* sinon j’insère mot dans le maillon
quand je sort de ma boucle for je vérifie si mot n'est pas vide (afin de ne pas perdre le dernier mot de la phrase).
voila mon code mais sa ne marche pas
pouvez vous me dire ou est mon erreur
merci
ma structure est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 void decouper_mot(char texte[MAX],type_maillon* p,int * nombre_de_mot) { int i,a,k; char mot[LONGUEUR_MAXIMALE] =""; char chaine[MAX]= ""; int taille = strlen(texte); strcpy(chaine,texte); for (i=0;i<taille;i++) { if (texte[i] == 32) { a = strcmp(mot,""); if (a!= 0) { *nombre_de_mot++; memset(p->maillon_mot,'\0',MAX); strcpy(p->maillon_mot,mot); p = suivant(p); memset(mot,'\0',LONGUEUR_MAXIMALE+1); } } else { strncpy(mot,chaine,1); for(k=0;k<taille;k++) { chaine[k]=chaine[k+1]; } } } a = strcmp(mot,""); if (a!= 0) { *nombre_de_mot++; memset(p->maillon_mot,'\0',MAX); strcpy(p->maillon_mot,mot); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct phrase type_maillon; struct phrase { char maillon_mot[MAX]; type_maillon* suiv; };
Partager