Fonction compter interprete

Fermé
jojo72zerzerzer - 12 oct. 2016 à 11:25
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 12 oct. 2016 à 15:01
Bonjour à tous,
Pour un projet, je dois implémenter en c (liste chainées) une bibliothèque contenant des albums décris par le titre de l'album, son interprète, son label, sa date de sortie et le style de musique.

Afin de créer ma bibliothèque, il m'est demandé de créer une fonction qui compte le nombre d'interprètes dans toute la bibliothèque, aka ma fonction doit compter tous les maillons de la liste, et lorsque qu'un interprète apparaît dans plusieurs nœuds différents, on ne le compte qu'une seule fois.
=> Comment savoir si un interprète quelconque apparaît plusieurs fois dans ma bibliothèque ?
A voir également:

2 réponses

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
12 oct. 2016 à 11:28
Salut,

Si tu déclare une structure d’interprète, tu peux déclarer une variable qui sera mise à "true" si il a déjà été vu.
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
12 oct. 2016 à 14:55
Pierre.. pas compris.

Si tu mets ta struct dans la liste chaînée d'albums, tu la perd de vue quand tu passes aux suivantes... non ?
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 12/10/2016 à 15:02
Salut jojo72zerzerzer,

Je vois deux solutions pour résoudre ton problème :

Créer une autre structure de données où tu stockes les interprètes à mesure que tu parcours ta liste chaînée s'ils n'ont pas déjà été stockés (voire une table de hachage pour éviter d'avoir à tout reparcourir à chaque vérification). Avec l'inconvénient de devoir allouer de la mémoire pour cette structure de données.

Ou, si ta liste chaînée est triée selon les interprètes, tu parcours simplement la liste, en ignorant les entrées consécutives identiques. Avec inconvénient qu'il faut la trier au préalable.


Dal
0