IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Nom le plus fréquent d'un tableau


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut Nom le plus fréquent d'un tableau
    Bonjour,
    Voilà je ne trouve pas de solutions à ce petit problème, donc si quelqu'un pourrait me donner une petite piste ça serait super gentil, merci.

    Enoncé:

    J'ai un tableau qui contient des noms comment vérifié quel nom apparaît le plus (il n'y a pas d'ex aequo).

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 32
    Points : 71
    Points
    71
    Par défaut
    Salut,

    Tu parcours avec deux boucles ton tableau, la première boucle sélectionne un élément, et la seconde cherche combien de fois apparaît cet élément dans le tableau Sinon utilise un algo de tri si tu veux une meilleure complexité.

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    +1 pour le tri, c'set quand même plus classe que la double boucle :-)
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut
    merci pour vos réponses, on a pas encore vu l’algorithme de tri de chaîne de caractères (on a vu seulement celui des entiers) donc j'ai essayé de le faire avec 2 boucles pour, je pense que l'algorithme est juste mais je crois qu'il y a beaucoup plus simple, merci de me confirmer s'il est juste, merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Module NomFréquent(tab : tableau [1 à n] de chaines de caractères ) 
     
    maxCompteur: entier
    cpteur: entier
     
    cpteur <= 0
    maxCompteur <= 0
     
    pour i de 1 à n faire
        pour j de i+1 à n faire 
              si (tab[i] = tab[j]) alors
                  cpteur <= cpteur + 1
               fin si 
          fin pour
         si (maxCpteur < cpteur) alors
              maxCpteur <= cpteur
              nom <= tab[i]
         fin si 
         cpteur <= 0 
    fin pour
     
    afficher "nom le plus fréquent : " nom

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 32
    Points : 71
    Points
    71
    Par défaut
    Les algos de tri c'est toujours les mêmes quel que soit les données à comparer (chaines, entiers, etc...), donc tu peux utiliser ceux que tu as appris sur les entiers.

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour
    je pense que l'algorithme est juste mais je crois qu'il y a beaucoup plus simple
    Plus simple non, en revanche vous pouvez optimiser votre algo !

    En effet, vous repassez sur des valeurs qui ont déja été comptabilisées, puisque vous redémarrez systématiquement à I+1.
    Or la valeur correspondante à l'indice I+1 a pu être comptabilisée précedemment.

    Il faut effacer les valeurs quand elles sont en doublons pour ne pas faire des boucles inutiles. Quand on a un poste "effacé" on saute la boucle

    Non ?

Discussions similaires

  1. Valeur plus fréquente dans un tableau croisé
    Par aurelie83 dans le forum Deski
    Réponses: 11
    Dernier message: 22/12/2010, 18h56
  2. Valeur la plus fréquente dans un tableau
    Par sebastiencourgeon dans le forum Débuter
    Réponses: 4
    Dernier message: 02/09/2009, 12h44
  3. Accès le plus rapide: Pointeur ou tableau?
    Par homeostasie dans le forum C
    Réponses: 21
    Dernier message: 01/09/2006, 14h08
  4. Recherche du point le plus près dans un tableau de points (x,y,z)
    Par Vol dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 02/06/2006, 22h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo