Changes between Version 91 and Version 92 of CaoCourseTme2
- Timestamp:
- Mar 13, 2007, 12:56:58 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme2
v91 v92 133 133 en plus, pour chaque mot, les numéros de toutes les lignes où le mot est présent. 134 134 135 Le fichier Makefile est un fichier texte. Si on lance le programme {{{statt}}} sur le fichier Makefile, on obtient :135 Le fichier Makefile est un fichier texte. Si on lance le programme {{{statt}}} sur le fichier Makefile, on obtient quelque chose comme : 136 136 {{{ 137 137 $ ./statt Makefile 138 namealloc.o : 2 occurences139 hte.o : 2 occurences140 true : 2 occurences141 138 dico.o : 2 occurences 142 139 des : 3 occurences … … 147 144 count.o : 2 occurences 148 145 # : 3 occurences 149 Definition : 3 occurences150 dejavu.o : 2 occurences151 -p : 2 occurences152 || : 2 occurences153 indent : 2 occurences154 = : 9 occurences155 $(RM) : 2 occurences156 statt : 4 occurences157 main.o : 2 occurences158 de : 2 occurences159 libhte.a : 3 occurences160 116 mots dont 80 différents161 146 }}} 162 147 Après modification, il devra afficher: 163 148 {{{ 164 149 $ ./statt Makefile 165 namealloc.o : 2 occurences lignes: 23 22 166 hte.o : 2 occurences lignes: 23 22 167 true : 2 occurences lignes: 37 34 150 168 151 dico.o : 2 occurences lignes: 23 22 169 152 des : 3 occurences lignes: 14 8 2 … … 174 157 count.o : 2 occurences lignes: 20 19 175 158 # : 3 occurences lignes: 14 8 2 176 Definition : 3 occurences lignes: 14 8 2177 dejavu.o : 2 occurences lignes: 23 22178 -p : 2 occurences lignes: 10 9179 || : 2 occurences lignes: 37 34180 indent : 2 occurences lignes: 17 8 2181 = : 9 occurences lignes: 15 12 11 10 9 6 5 4 3182 $(RM) : 2 occurences lignes: 37 34183 statt : 4 occurences lignes: 37 34184 main.o : 2 occurences lignes: 20 19185 de : 2 occurences lignes: 14 14186 libhte.a : 3 occurences lignes: 23 22187 116 mots dont 80 différents188 159 }}} 189 160 Pour introduire cette nouvelle fonctionnalité, il faut: 190 161 * Définir un type de liste chainée pour le stockage des numéros de ligne. Cette structure contient deux champs: un pointeur vers l'élément suivant de la liste et un entier représentant le numéro de ligne. 191 * Changer la structure hte_data_s afin d'ajouter un champs contenant un pointeur sur la liste chainée contenant les numéros de lignes.192 * Modifier la fonction count() pour ajouter un nouveau numéro de ligne dans la liste chaînée associée au champschaque fois que la fonction token() renvoie un mot.162 * Changer la structure dico_item_s afin d'ajouter un champs contenant un pointeur sur la liste chainée contenant les numéros de lignes. 163 * Modifier la fonction count() pour ajouter un nouveau numéro de ligne dans la liste chaînée associée à l'item chaque fois que la fonction token() renvoie un mot. 193 164 * Mofifier la fonction result_count() pour parcourir les listes chaînées contenant les numéros de ligne et les afficher. 194 165