nombre d'occurence

nombre d'occurence - C - Programmation

Marsh Posté le 05-04-2006 à 16:50:33    

Bonjour,
 
Je cherche a faire une fonction qui prend en entree un tableau de 16 elements et qui donne en sortie la valeur qui est la plus frequente.
Je sais que mon tableau contient des entiers, mais a priori je ne connais pas la valeur maximum, donc je ne peux pas utiliser un algorithme du genre:

Code :
  1. for (i=0;i<16;i++)
  2. count[value[i]]++;
  3. return (max(count));


car je ne connais pas la taille necessaire pour 'count' dans ce cas la.
 
J ai pense a trier mes valeurs en premier puis faire un compteur qui detecte les changements de valeurs pour compter la frequence de chaque valeur, mais je pense qu'il y a mieux.
 
Est ce que quelqu un aurez une idee?
 
 
 

Reply

Marsh Posté le 05-04-2006 à 16:50:33   

Reply

Marsh Posté le 05-04-2006 à 17:13:07    

L'algo le plus simple c'est de construire un tableau de structures avec les valeurs trouvables dans le tableau passé en paramètre, et le nombre d'occurences trouvées.
 
Tu peux définir ce tableau de stats comme étant de longueur n, n étant la taille du tableau initial, puisque ce sera le nombre maximum de valeurs différentes possibles (i.e. s'il n'y a aucune redondance).
 
Après, il faut savoir selon quels critères retourner une valeur maximum, pour pallier au cas où un même nombre d'occurences est trouvé pour plusieurs valeurs maximum.


Message édité par Elmoricq le 05-04-2006 à 17:31:39
Reply

Marsh Posté le 05-04-2006 à 17:22:54    

merci pour l'idee, je vais essayer ca :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed