Algo liste de nombre afficher les 3 plus gran

Résolu
alexbigfoug -  
BadGuitarist Messages postés 373 Statut Membre -
Bonjour à toutes et tous !!!

Voilà je me suis poser une colle et je n'arrive pas à la résoudre... Je suis en train de faire une base de donnée access qui concerne la gestion d'un tournois.

J'ai une liste de points que je récupères. Disons: 17; 14; 18; 5; 4; 20;...
Et je voudrais récupérer les 3 meilleurs score. Pour le premier score je vois bien mais c'est pour les 2 autres...

max := 0

Si point > max alors
max = point
finsi

Merci d'avance de votre aide !!
Configuration: Windows Vista
Firefox 3.0.17

7 réponses

  1. BadGuitarist Messages postés 373 Statut Membre 27
     
    Bonsoir Alexbigfoug,

    Voici quelque chose qui peut t'aider :

      ALGO les3MeilleursScores :
      DEBUT
        highScore=-1
        midScore=-1
        worstScore=-1
        POUR i ALLANT de 1 A NBMAXSCORES DANS tab FAIRE
          SI tab[i]>= highScore
            ALORS  highScore = tab[i]
            SINON
              SI tab[i]>= midScore
                ALORS  midScore = tab[i]
                SINON
                  SI tab[i]>= worstScore
                    ALORS  worstScore = tab[i]
                    SINON
              FINSI
          FINSI
        FINPOUR
      FIN
    


    Je sais qu'il y un bug. Je te laisse le découvrir. Tiens moi au courant ;-)

    @+
    0
  2. alexbigfoug
     
    Bonsoir et merci de ton coup de pouce !!

    Je ne suis pas sûr mais ce que tu utilise c'est des tableaux, non???

    Je n'es pas de connaisance sur les tableau...
    0
  3. BadGuitarist Messages postés 373 Statut Membre 27
     
    Mon algo. s"appuie effectivement sur un tableau de scores.

    Si tu n'as pas appris les tableaux, quelle(s) structure(s) représentant un ensemble d'éléments veux-tu utiliser ?
    0
  4. alexbigfoug
     
    J'ai pas le code là, mais je vais faire un truc équivalent

    Entrer (score)

    Tant que score <> -1 faire // -1 est utilisé pour finir le saisie (c'est à dire que tout les score on été entré.

    //algo pour récupérer les 3 meilleurs scores

    Entrer (score)
    Refaire

    Voilà je sais pas trop si j'ai répondus à ta question...

    En faite, la difficulté c'est que je ne garde pas en mémoire les scores précédents mais je les obtients 1 par
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. BadGuitarist Messages postés 373 Statut Membre 27
     
    Non, tu n'as pas répondu à ma question. Mais ce n'est pas grave : je vais reformuler ma question.

    Dans ton 1ier post, tu parles d'une liste de points que tu récupères :
    cela veut dire pour moi que tu as appris (ou tu veux utiliser) une structure de données qui permet de mémoriser un ensemble (de taille indéfinie) de valeurs.
    Pour t'aider, en algo, ce type de données correspond :
    - aux tableaux
    - aux listes
    - aux piles

    Mais tant que l'on est au niveau de l'algo, on peut très bien dire que :
    chaque score donné par l'utilisateur est mémorisée dans une variable.

    Ce qui donnerait donc (en algo) :

      ALGO les3MeilleursScores :
      DEBUT
    
        // Affectaation de toutes les variables avec les scores données
        i=0
        REPETER
          i=i+1
          score_i = ECRIRE("Donnez votre score : ");
        JUSQU'A score_i=-1
    
        // Recherche des 3 meilleurs scores
        highScore=-1
        midScore=-1
        worstScore=-1
        POUR j ALLANT de 1 A i FAIRE
          SI score_j >= highScore
            ALORS  highScore = score_j
            SINON
              SI score_j >= midScore
                ALORS  midScore = score_j
                SINON
                  SI score_j >= worstScore
                    ALORS  worstScore = score_j
                  FINSI
              FINSI
          FINSI
        FINPOUR
      FIN
    


    Qu'en penses-tu à présent ?
    0
  7. alexbigfoug
     
    Ouaip, voilà maintenant je vois ou j'ai mon erreur^^

    MOn code était similaire au tient, sauf que au lieu de faire des SI, SINON j'ai fait des SI imbriqué^^erreur d'inattention ^^

    Merci beaucoup !!!
    0
  8. BadGuitarist Messages postés 373 Statut Membre 27
     
    Je t'en prie.
    @+ peut-être.
    0