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 :

Algorithme pour trier trois nombres


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Algorithme pour trier trois nombres
    Salut

    Je suis vraiment à la ramasse en algo et j'essaye de faire mon devoir pour le cned le premier et ca va paraître simple pour vous mais moi je blok dés le premier exo

    voila l'ennoncé
    "écrire l'algo qui affiche dans l'ordre croissant trois nombres saisis dans un ordre quelconque"

    Je c'est c'est easy mais serieux je c pas
    je veux pas une réponse toute faite je veux kon m'explik j'ai envie de comprendre bien que cette matière me décourage !!!!!!!!!!
    Merci de votre patience et de votre tps et votre aide !!!!


    [Titre modifié par Loulou24, merci d'utiliser des titres explicites]

  2. #2
    Rédacteur

    bien le bonjour,

    j'adore ces topic au nom tellement évocateur ....

    bon, les membres de ce forum ne sont pas là pour faire les devoirs des autres.
    Expose les idées que tu as pour l'instant, dans quelle voie as-tu commencé à chercher ?

    as-tu un début d'algo ?

  3. #3
    Rédacteur

    Salut

    La meilleure façon de trier une séquence de nombre est certainement d'utiliser un quick sort, mais pour seulement 3 il vaut mieux "dérouler" l'arbre de recherche à la main, ce qui donnerait quelque chose de ce style :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Si a < b
        Si b < c
            Afficher a b c
        Sinon
            Si a < c
                Afficher a c b
            Sinon
                Afficher c a b
    Sinon
        ...


    Ce qui te fait au maximum 3 comparaisons à effectuer.

  4. #4
    Nouveau Candidat au Club
    Citation Envoyé par khayyam90
    bien le bonjour,

    bon, les membres de ce forum ne sont pas là pour faire les devoirs des autres.
    Dans mon topic est ce que j'ai demandé que l'on me donne la réponse ???
    J'ai précisé je ne veux pas la réponse toute faite je veux comprendre qu'on mette sur la voie je ne demande pas qu'on me fasse le devoir je tiens à le préciser !

    Ensuite j'ai juste commencer par afficher la saisi des 3 nombre

    début
    saisir NB1
    afficher (nb1)
    saisir NB2
    Afficher (nb2)
    saisir NB3
    afficher (nb3)

    Ensuite j'ai pas mal réfléchit et j'ai penser à faire la comparaison avec nb1>nb2 etc
    Mais j'ai trouver que ca me paraissait pas bon et puis c'est tout après j'ai fait une autre matière car je me suis torturé le cerveau pour me décourager encore plus !

  5. #5
    Membre habitué
    Pense en terme d'arbres et de différentes possibiltés qui s'offrent à toi suivant le résultat obtenu lors d'une comparaison
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Test de a et b
         /  \
     a<b     a>b
    " Tout homme est digne d'un parapluie." Stavroguine dans Les Démons de Dostoïevski.

  6. #6
    Membre expérimenté
    Slut
    Je vais te faire une petite solution detaille (j'espere)


    soient :
    - 3 variables (pour les 3 nombres ) : nb1,nb2,nb3;
    - 3 variables (pour les ordres ) : min,mil,max;


    on a :

    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
    23
    24
    25
    26
    27
    28
    29
    30
     
     
    {on lit les 3 variable}
    lire (nb1,nb2,nb3)
     
    {on commence les comparaisons}
       {on compare le 1er et le 2eme} 
            si nb1>nb2 alors
                max=nb1
                mil=nb2 
            sinon
                mil=nb2
                max=nb2
             fin si
     
       {on compare le plus grand (entre le 1er et le 2eme) et nb3} 
            si  max>nb3 alors
               {on compare le milieu et nb3}
                si mil>nb3 alors
                      min=nb3
                sinon
                      perm=mil
                      mil=nb3
                      min=perm
                fin si
            sinon
                min=mil
                mil=max
                max=nb3
            fin si


    Voila j'ai essaye de faire ca le plus simplement que possible, j'espere que ca va resoudre ton probleme (je ne l'ai pas teste, mais logiqument c bon)
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  7. #7
    Rédacteur/Modérateur

    Pour ce genre de chose, fais le à la main plusieurs fois,en essayant d'être rigoureux, avec des exemples tous différents (c-a-d nb1 n'est pas toujours le plus petit, ni le plus grand, etc) , pour comprendre comment ça marche.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  8. #8
    Membre habitué
    Citation Envoyé par PINGOUIN_GEANT
    Pense en terme d'arbres et de différentes possibiltés qui s'offrent à toi suivant le résultat obtenu lors d'une comparaison
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Test de a et b
         /  \
     a<b     a>b
    Même pas vrai...
    Et si a = b ??
    Gaïa n'est pas une marchandise.

  9. #9
    Membre du Club
    Fo pas tout lui coder

    Un exercice c'est pas fait pour être réaliser par les autres!!!!

    Son prof, s'en fout de savoir si vous vous savez le faire!!!!!


    vplf

  10. #10
    Membre averti
    La même question répondu le 13 janvier :
    http://www.developpez.net/forums/vie...c.php?t=275910