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

VB.NET Discussion :

Problème algorithme tri à bulle


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut Problème algorithme tri à bulle
    Bonjour,

    J'essaie de trier chaque ligne de ma TextBox, mais j'ai un soucis au niveau de l'algorithme que je n'arive pas à resoudre!

    L'utilisateur doit cliquer sur un label pour que le tri s'effectue.

    voici le code:
    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
     
    Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click
            Dim tab As String
            Dim chaine() As String
            Dim i As Integer
            Dim Temp As String
            tab = Me.ListeNote.Text
            chaine = tab.Split(vbCrLf)
            For i = 0 To UBound(chaine) - 1
                If chaine(i) > chaine(i + 1) Then
                    Temp = chaine(i)
                    chaine(i) = chaine(i + 1)
                    chaine(i + 1) = Temp
                End If
            Next
     
            For i = 0 To UBound(chaine)
                If i = 0 Then
                    Me.ListeNote.Text = chaine(i)
                ElseIf i < 2 Then
                    Me.ListeNote.Text = Me.ListeNote.Text + chaine(i)
                End If
     
     
            Next
        End Sub



    Le tri ne se fait pas correctement, et il y a plein de bizarrerie, il semblerai qu'il un problème au moment où j'effectue le tri (la première boucle for), car j'ai testé la 2éme boucle et elle m'affiche correctement le contenu tester.

    en espérant que vous puissiez m'aider,

    Cordialement,

    sushis

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    le site possède une balise code pour une mise en forme lisible

    si tu veux trier par ordre alphabétique ca prend 2 lignes avec un sortedlist, ca ne sert à rien de réinventer l'eau tiède ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Ok merci!

    Aurais-tu de la doc (en français) sur l'utilisation de sortedlist. (j'utilise un tableau, mais enfin avec la doc je devrai comprendre quelque chose )

    Bref, je vais essayer de baliser mon code.

    Merci pour ta réponse.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu fais F1 dans vb ou vs
    chaque classe chaque membre chaque mot clé (...) est expliqué avec souvent des exemples
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Finalement 'ai suivi cette doc: http://plasserre.developpez.com/cour...age-vb3#LV-I-7

    Bref, en suivant l'exemple et en l'adaptant à mon code, j'ai fait ç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
    Private Sub Label10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label10.Click
            Dim tab As String
            Dim chaine() As String
            Dim i As Integer
            Dim tri As New SortedList()
            tab = Me.ListeNote.Text
            chaine = tab.Split(vbCrLf)
            For i = 0 To UBound(chaine)
                tri.Add(i, chaine(i))
            Next i
     
           For i = 0 To tri.Count - 1
                Me.ListeNote.Text = tri.GetKey(i) & tri.GetByIndex(i)     
            Next i
     
     
        End Sub
    Le soucis est que à l'affichage, il ne m'affiche que la dernière ligne de mon contenu! Et quand je clique une seconde fois sur le label, il m'affiche un zéro (les zéro sacumule à chaque fois que je clique sur le label!).

    en espérant que vous puissiez m'aider,

    Cordialement,

    sushis

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ListeNote.Text = Me.ListeNote.Text & " " & tri.GetKey(i) & tri.GetByIndex(i)
    ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Par défaut
    Le trie a bulle se fait une une boucle While et une For.
    Grosso modo en pseudo cracra code ça donne ç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
    TableauTrié=Faux
    MaxTableau=Ubound(Tableau) 'Taille de ton tableau / collection
     
    Tant TableauTrié=Faux
     
    TableauTrié=Vrai
     
    Pour I=0 To MaxTableau-1
     
    Si tableau(I)>tableau(I+1) Alors
    Permutation des deux élèment
    TableauTrié=Faux
    Fin si
    Fin Pour
    Fin Tan Que
    Tu trouvera de la doc partout.
    Aprés tout dépend de ce que tu dois / veux faire, si l'objectif ce de trier tu peux passer par des élèment du FrameWork, mais si tu dois / veux faire un trie bulle c'est comme ça qu'il faut faire.


  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Ok merci, l'algo fonctionne enfin. Merci Maelstrom!

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

Discussions similaires

  1. problème algorithme de tri
    Par tubaas dans le forum MATLAB
    Réponses: 1
    Dernier message: 16/12/2009, 12h55
  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. Problème de tri à bulles et d'affichage - débutant
    Par Joliefleur4ever dans le forum Langage
    Réponses: 6
    Dernier message: 04/12/2007, 21h13
  4. [Collections] Problème de tri
    Par feti2004 dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 03/08/2004, 16h45
  5. problème de tri et optimisatiopn
    Par psyco2604 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 13/05/2004, 10h44

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