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 :

Tri à bulle avec 2 pour


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Tri à bulle avec 2 pour
    Bonjour je chercher a faire un Tri a bulle pour N variable je tourne en rond la seule piste que j'ai c'est que l'ont doit utiliser 2 boucles "pour " mais si vous arrivez a le faire avec "Tantque" sa serait geniale merci pour vos futures reponses

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 945
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 945
    Points : 5 659
    Points
    5 659
    Par défaut
    Koa,

    Il y a des milliers de pages sur Google qui parlent de cet algorithme.

    On l'implémente généralement avec des boucles for, car elles y sont parfaitement à leur place : on connaît les limites de boucles, début et fin, avant d'y entrer, et les boucles for sont faites pour ce cas.

    Quant à passer d'une boucle for à une boucle TantQue (while), c'est si simple que je te laisse réfléchir un peu.

    Qia,
    Citation Envoyé par achevar Voir le message
    Merci

    Facile quand on connait c'est sur. Merci d'avoir ecris un post utile
    Je pense que mon post est utile :

    - J'explique pourquoi on utilise plutôt des boucles for que des while

    - et pour passer d'une à l'autre, je te dis de réfléchir, ce qui va entraîner :

    *- Comprendre comment fonctionne une boucle for
    *- idem pour une boucle while
    *- une fois cela acquis, passer d'une boucle for à une boucle while est facile (mais pas forcément l'inverse ).

  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
    Bonjour,

    étant donné que c'est un problème de base sur traité sur le web, on te propose de nous donner ce que tu as déjà fait.
    Peu importe le type de boucle car lorsque nous t'aurons aidé à faire un tri à bulles juste, nous t'aiderons pour modifier les boucles.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    voila j'arrive a la faire avec 3 valeurs que je connais mais je ne comprend pas comment on peux faire pour le generaliser a N variable. Et je sais que c'est les bases de chez bases et qu'il est trés vus sur internet mais je ne comprend pas tous c'est pour sa que je voulais de l'aide


    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
    Algo
    Entrée A,B,C
    Sortie
    Debut
     
    Si A>B alors
    T <-- A 
    A <-- B
    B <-- T
    Fin si
     
    Si B>C alors
    T<--B
    B<--C
    C<--T
    Fin si
     
    Si A>B alors
    T<--A
    A<--B
    B<--T
    Finsi
     
    	Ecrire (A,B,C)
    fin

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    voila j'arrive a la faire avec 3 valeurs que je connais mais je ne comprend pas comment on peux faire pour le generaliser a N variable. Et je sais que c'est les bases de chez bases et qu'il est trés vus sur internet mais je ne comprend pas tous c'est pour sa que je voulais de l'aide
    Déjà, essaye de trouver pourquoi on appelle cela le tri à bulle. Cela te permettra de comprendre le principe, et donc de pouvoir l'implémenter.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    parceque c'est la plus grosse bulle qui remonte en premiere

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 945
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 945
    Points : 5 659
    Points
    5 659
    Par défaut
    Woe,
    Citation Envoyé par achevar Voir le message
    voila j'arrive a la faire avec 3 valeurs que je connais mais je ne comprend pas comment on peux faire pour le generaliser a N variable.
    Manifestement, tu n'as pas compris que c'est un tableau qu'on trie.

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par achevar Voir le message
    parceque c'est la plus grosse bulle qui remonte en premiere
    Exact.

    Donc une fois que tu as fait remonter la plus grosse bulle, tu est sûr d'avoir placé le plus grand élément à l'extrémité du tableau. On se retrouve donc avec un tableau dont les N-1 premiers élements sont dans un ordre inconnu, et le Nième élément est bien placé.

    [???Z??????] --> [?????????][Z]

    Si on réeffectue le tri a bulle sur les N-1 premiers élements, on va faire remonter le plus grand à l'extrémité du sous-tableau.

    [??Y??????][Z] --> [????????][YZ]

    Et ainsi de suite.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Esque je suis partis sur la bonne voie?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    algo
    entrée
    sortie
    debut
     
              n<--lire("chaîne de caractere")
              a <-- (T(n)-1)
    Pour b <-- 1 à T(n) faire
           Pour c <-- 2 à a faire

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Voilà une aide de plus :

    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
    Tri croissant de trois valeurs entières
     
    Algorithme Trie_croissant
    Role Trier 3 variables par ordre croissant
     
    Variables A, B, C: entier
              D, E : entier
     
    Début
     
      Afficher("Veuillez saisir trois entiers A, B et C")
      Saisir(A, B, C)
     
      Pour E <- 0 à 1
        Si A > B Alors
          D <- A
          A <- B
          B <- D
          Si B > C Alors
              D <- B
              B <- C
              C <- D
          Fin Si   
        Fin Si
      Fin Pour
     
      Afficher ("Trie effectué: ", A, ", ", B, ", ", C)
     
    Fin
    Celapour 3 variables, pour un nombre de variables n, cela ne devrait pasposer de problème

    A+

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/05/2010, 10h48
  2. Problème avec le timer d'un tri à bulles
    Par McAdam dans le forum Débuter
    Réponses: 0
    Dernier message: 16/03/2009, 20h45
  3. Bulle d'aide pour image avec GtkTooltips
    Par castel51 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 15/09/2007, 13h27
  4. requete SQL avec rownum pour un tri
    Par lilsandy dans le forum SQL
    Réponses: 4
    Dernier message: 10/07/2007, 11h01
  5. quelle instruction pour un tri à bulles?
    Par bandit_debutant dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2006, 07h16

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