samedi 31 mai 2014

TD 11


Dans ce TD nous allons finaliser l'analyse de Tweets commencée dans le TD10 en utilisant une table de hashage...
Relisez le dernier paragraphe du TD10 concernant l'analyse de tweets....
  • Modifiez votre code de manière à ce qu'il prennent le nom du fichier de tweets à analyser en argument du programme comme on l'a vu en cours (et non plus sur le flux standard stdin). Vous devrez alors utiliser les fonctions fopen etfclose pour gérer le flux de données.
  • Affichez toutes les paires clé-valeur du hash. Cherchez le mot clé foreachdans la documentation. Vous allez devoir utiliser un pointeur de fonction, mais ça fait maintenant au moins 3 fois qu'on utilise ce principe, vous devriez pouvoir vous débrouiller...
  • Faites une fonction qui compte le nombre de personnes qui ont posté des tweets. Pour cela modifiez votre fonction d'affichage, en utilisant la "user_data" qu'on avait ignoré à la question précédente. Cette donnée est tout naturellement le compteur.
  • Modifiez votre fonction d'affichage pour trouver la valeur de compteur la plus grande parmi toutes les paires clé-valeur du hash.
  • Modifiez votre fonction de manière à identifier qui est la personne qui a posté le plus de tweets. Pour pouvoir stocker à la fois le compteur le plus élevé mais aussi le nom associé, il nous faudra créer une structure de données. Cette structure regroupera un int et un char* pour stocker à la fois le compteur et le nom qui est associé.
  • Une données plus intéressante que le Twittos le plus actif, est la personne la plus mentionnée dans des tweets. Pour cela on va s'intéresser au contenu des message (et ignorer le premier mot qui est le nom de l'emmetteur). Modifiez simplement ce qui est inséré dans le hash : identifiez tout les nom de compte twitter (les mots qui commencent par @...), c'est ce qui sera la clé de notre hash, la valeur reste un compteur. On pourra comme cela facilement identifier qui est la personne la plus citée dans un paquet de tweets. Cette même logique peut être utilisée pour identifier les hashtag (=mots de la forme "#...") les plus utilisés.


Annexe(s) :
tweets.txt :: 1.75 MB