Changes between Version 32 and Version 33 of CaoCourseTme2


Ignore:
Timestamp:
Feb 18, 2007, 5:51:20 AM (18 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme2

    v32 v33  
    176176
    177177Vous devrez modifier le programme de façon à ce qu'il  indique, pour chaque mot,
    178 les numéros de toutes les lignes où le mot est présent
     178les numéros de toutes les lignes où le mot est présent.
     179Ainsi le programme fourni appliqué sur le fichier Makefile (c'est un fichier texte) produit:
     180{{{
     181prompt$ ./stat Makefile
     182         namealloc.o : 2 occurences
     183               hte.o : 2 occurences
     184                true : 2 occurences
     185              dico.o : 2 occurences
     186                 des : 3 occurences
     187                   : : 2 occurences
     188               clean : 3 occurences
     189           /dev/null : 2 occurences
     190                  2> : 2 occurences
     191             count.o : 2 occurences
     192                   # : 3 occurences
     193          Definition : 3 occurences
     194            dejavu.o : 2 occurences
     195                  -p : 2 occurences
     196                  || : 2 occurences
     197              indent : 2 occurences
     198                   = : 9 occurences
     199               $(RM) : 2 occurences
     200                stat : 4 occurences
     201              main.o : 2 occurences
     202                  de : 2 occurences
     203            libhte.a : 3 occurences
     204116 mots dont 80 différents
     205}}}
     206Après modification, il devra afficher:
     207{{{
     208prompt$ ./stat Makefile
     209         namealloc.o : 2 occurences lignes: 23  22
     210               hte.o : 2 occurences lignes: 23  22
     211                true : 2 occurences lignes: 37  34
     212              dico.o : 2 occurences lignes: 23  22
     213                 des : 3 occurences lignes: 14   8   2
     214                   : : 2 occurences lignes: 22  19
     215               clean : 3 occurences lignes: 37  34
     216           /dev/null : 2 occurences lignes: 37  34
     217                  2> : 2 occurences lignes: 37  34
     218             count.o : 2 occurences lignes: 20  19
     219                   # : 3 occurences lignes: 14   8   2
     220          Definition : 3 occurences lignes: 14   8   2
     221            dejavu.o : 2 occurences lignes: 23  22
     222                  -p : 2 occurences lignes: 10   9
     223                  || : 2 occurences lignes: 37  34
     224              indent : 2 occurences lignes: 17   8   2
     225                   = : 9 occurences lignes: 15  12  11  10   9   6   5   4   3
     226               $(RM) : 2 occurences lignes: 37  34
     227                stat : 4 occurences lignes: 37  34
     228              main.o : 2 occurences lignes: 20  19
     229                  de : 2 occurences lignes: 14  14
     230            libhte.a : 3 occurences lignes: 23  22
     231116 mots dont 80 différents
     232}}}
     233Pour répondre à cette question, il va vous falloir:
     234 *  Définir un type de liste chainée pour le stockage des numéros de ligne.
     235    Ce type contient deux champs: un champ vers l'élément suivant et un entier représentant le numéro de ligne.
     236 *  Changer la structure hte_data_s afin d'ajouter un pointeur sur une liste chainée pour le stockage des numeros de lignes.
     237 *  Créer un nouvel élément de numéro de ligne lors du parcours du fichier (fonction count)
     238 *  Parcourir les listes créées pour les afficher (fonction result_count)
    179239
    180240Vous donnerez également des statistiques sur l'usage des tables de hachage,
    181 telles que le nombre moyen de comparaisons nécessaire lors de la recherche d'un mot
     241telles que le nombre moyen de comparaisons nécessaires lors de la recherche d'un mot.
    182242
    183243= Compte-Rendu =
     244
     245Vous rédigerez un compte-rendu avec la réponse aux questions posées et une explication des évolutions démandées.
     246Pour ce tme, comme pour les suivants, vous serez interrogez individuellement devant machine.