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 :

fréquence dans un tableau


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 25
    Par défaut fréquence dans un tableau
    bonjour
    j'ai un souci. J'ai un tableau de note( entieres de 0 à20) j'ai également notes[1..500] : entiers // contient une succession de notes comprises entre 0 et20.
    Taille: entier // qui est le nb de lignes remplies dans le tableau .

    On me demande d'écrire l'algo qui permet d'afficher pour chaque note possible (donc de 0 à 20) la fréquence d'apparition de cette note dans le tableau notes (qui n'est pas trié et ne doit pas l'être).
    Comment faire ?

    Merci

  2. #2
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Bonjour,
    la méthode la plus simple est d'initialiser un tableau t de 21 entiers à zéro. On parcours le tableau des 500 notes une fois, et pour chaque note n on incrémente l'entier t[n].

    Une fois fini, la fréquence de la note n est l'entier t[n] ou t[n]/500 selon le sens que l'on donne à fréquence.

    Cordialement,

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 25
    Par défaut
    merci , mais si tu peux développer...

  4. #4
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    L'étape suivante est l'implémentation, je ne peux pas vraiment développer ... Si un point ou du vocabulaire te semble confus n'hésite pas à poser des questions, mais je ne ferai pas l'exercice à ta place

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 25
    Par défaut
    ok c'est normal: que penses tu de ma solution:
    Lexique :
    • notes (tableau [1..500] d'entier, saisi)) : tableau contenant les entiers saisis
    • valeurs (tableau [0..20] d'entier, saisi) tableau contenant les valeurs des notes.
    • taille (fonction) résultat entier : fonction qui retourne le nombre effectif
    • i, n (entier, calculé) : compteurs d’itération, indices
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Début 
        // initialisation du tableau valeurs
        Valeurs[n]0
        // incrémentation de valeurs
        Pour n de 0 à taille (valeur) Faire 
            Si notes[i] = n Alors
                valeurs[n] ←valeurs [n] +1 
            FinSi
        FinPour	
        Si valeur[n] <>0 Alors	
            Afficher ("fréquence=",  valeurs[n]/ taille (notes)) 
        FinSi
    Fin

  6. #6
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Citation Envoyé par netchou Voir le message
    ok c'est normal: que penses tu de ma solution:
    Lexique :
    • notes (tableau [1..500] d'entier, saisi)) : tableau contenant les entiers saisis
    • valeurs (tableau [0..20] d'entier, saisi) tableau contenant les valeurs des notes.
    • taille (fonction) résultat entier : fonction qui retourne le nombre effectif
    • i, n (entier, calculé) : compteurs d’itération, indices
    Ton lexique me semble approprié.

    Valeurs[n] ←0
    Ici, tu dois bien comprendre qu'il faut initialiser à zéro chacune des 21 valeurs de ton tableau. Une boucle for serait donc tout à fait adaptée (pour i = 0..21, Valeurs[i]<--0)

    Pour n de 0 à taille(valeur) Faire
    Si notes[i] = n Alors
    valeurs[n] ←valeurs [n] +1
    FinSi
    FinPour
    Non, il faut boucler sur tes notes, donc pour i = 1..500(=taille(notes)), il faut incrémenter Valeurs[notes[i]]

    Si valeur[n] <>0 Alors
    Afficher ("fréquence=", valeurs[n]/ taille (notes))
    FinSi
    Le "Si" est ici inutile. Étant donné que tu ne divises pas par Valeurs[n], le fait que cet entier soit nul n'est pas un cas particulier. Ainsi, la fréquence de la note n est le réel Valeur[n]/taille(notes).

    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. Calculer une fréquence dans un tableau croisé dynamique
    Par SteffieLili dans le forum QlikView
    Réponses: 1
    Dernier message: 27/05/2014, 16h18
  3. [Tableaux] fréquence d'un élément dans un tableau
    Par php_de_travers dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2007, 08h35
  4. Réponses: 4
    Dernier message: 10/10/2003, 18h04
  5. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21

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