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 6 et antérieur Discussion :

[VB6]Prob boucle while


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 25
    Par défaut [VB6]Prob boucle while
    salut tt le monde !
    mon problème c'est que j'ai 2 tableaux qui sont trié et je veux les combiné dans un seul tableau en ordre croissant, j'ai utilisé ce code, mais ça n'a pas marché, le déboguage me renvoie à la première ligne après le while (il me dit l'indice n'appartient pas à la ligne)

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Sub main()
    Dim ta(1 To 5), tb(1 To 5), tc(1 To 10), i As Integer, j As Integer, k As Integer
     
    For i = 1 To 5
        ta(i) = InputBox("entrez ta(" & i & ")")
    Next
     
    For j = 1 To 5
        tb(j) = InputBox("entrez tb(" & j & ")")
    Next
     
    k = 1
    j = 1
    i = 1
     
    While k <= 10
     
            If ta(i) < tb(j) Then
                tc(k) = ta(i)
                k = k + 1
                i = i + 1
     
            ElseIf tc(k) = ta(i) Then
                tc(k) = ta(i)
                k = k + 1
                tc(k) = tb(j)
                k = k + 1
            Else
                tc(k) = tb(j)
                k = k + 1
                j = j + 1
            End If
    Wend
     
    For i = k To 10
        s = s & tc(k) & " "
    Next
     
    MsgBox (s)
     
    End Sub

    et merci d'avance de vos réponses

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Il te faut tester la valeur de tes index i et j .. avant de les utiliser pour indexer les tableau ... un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    While k <= 10
            if i > 5  then ' tableau A terminé on prends le reste du B
               tc(k) = tb(j)
                k = k + 1
                j = j + 1 
            Elseif j > 5  then ' tableau B terminé, on prends le reste du A
               tc(k) = ta(i)
                k = k + 1
                i = i + 1 
            ElseIf ta(i) < tb(j) Then
      ...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 65
    Par défaut
    salut
    je te suggere moi d'ajouter les elements du tableau A au tableau C et d'ajouter les elements du tableau B a la fin du tableau C
    et de faire enfin le tri sur C

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Le plus simple : envoyer le tout (additem) dans une listbox avec propriété sorted = True
    puis récupérer les éléments de la listbox dans le dernier tableau et... amen !

Discussions similaires

  1. Boucle while & read
    Par gibet_b dans le forum Linux
    Réponses: 4
    Dernier message: 29/04/2005, 15h38
  2. boucle while et post incrémentation
    Par tut dans le forum C++
    Réponses: 7
    Dernier message: 10/12/2004, 17h24
  3. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51
  4. [VB6]Prob avec les requêtes multiples
    Par cammipascal dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 30/03/2004, 18h46
  5. [débutant]Documentation? boucle "while"? Session?
    Par o151181 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/01/2004, 15h20

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