Combinaisons

Signaler
Messages postés
3
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
1 juin 2014
-
Messages postés
3
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
1 juin 2014
-
Bonjour,
comment on fait pour faire des permutations triées?
je beug et je ne sais pas pourquoi; voila le pg à Faire :
faudrait un ti pg à qui on donne la taille d'un tableau puis les éléments initiales triées, puis il permute les combinaisons de manière à avoir toute les combinaisons possible et enfin mettre tout ça dans tableau excel
ex:
je rentre "9" (taille du tableau) , puis je rentre les valeurs (1.2.3.4.5.6.7.8.9)
c'est la valeur initiale ; alors le pg doit faire les permutations :
1.2.3.4.5.6.7.8.9
1.2.3.4.5.6.7.9.8
1.2.3.4.5.6.8.7.9
1.2.3.4.5.6.8.9.7
....
.....
....
9.8.7.6.5.4.3.2.1

pour le excel etc. c pas un pb; je beug sur la boucle elle même;
Merci d'avance de votre aide
--

4 réponses

Messages postés
15647
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
3 mars 2021
516
Bonjour,
tout d'abord comme tu n'as pas posté ton message dans une des sous catégories de VB (VB6, VBA, VB Script, VB.NET) la réponse peut tomber à coté.

Ensuite une recherche rapide sur le forum m'a amené ici
http://codes-sources.commentcamarche.net/forum/affich-1237608-permutations-de-tableau#4
Je me suis permis de corriger la coloration syntaxique (beaucoup se sont mal passées lors du transfert vers CCM).
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonjour a tous,

Comme le dit Whismeril on en trouve partout

Une fonction récursive est possible sur le sujet

http://www.vbi.org/Items/article.asp?id=133

ou celui ci

http://www.mrexcel.com/forum/excel-questions/321815-recursive-code-visual-basic-applications.html

et celle ci mérite au passage un petit coup d'oeil ( écrite en Java )

http://www.java2s.com/Tutorial/Java/0100__Class-Definition/RecursivemethodtofindallpermutationsofaString.htm

Je vais essayer de l'adapter pour Vb.net car sa simplicité est intéressante.

Bonne prog
CGSI3



--
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Re,
Voila pour ceux qui aurait Vb.net la transcription

Dans une Form j'ai 2 TextBox

TextBox2 : Sert a entrer le Mot a Etudier
TextBox1 : Donne le résultat (Mettez la en MultiLigne)
On entre le Mot dans TextBox2 puis on DoubleClick dessus
(On peut choisir un autre event sans soucis)

La variable Solution Récupere les résultats trouvés et on l'affiche dans TextBox1

Public Class Form3
    Public Solution As New List(Of String)

    Private Sub TextBox2_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles TextBox2.MouseDoubleClick
        TextBox1.Text = "" : Solution.Clear()
        PermuteString(TextBox2.Text)
        For Each Lg As String In Solution
            If TextBox1.Text = "" Then
                TextBox1.Text = Lg
            Else : TextBox1.Text = TextBox1.Text & vbCrLf & Lg
            End If
        Next
    End Sub


    Public Sub PermuteString(ByVal endingString As String, Optional ByVal beginningString As String = "")
        If (endingString.Length() <= 1) Then
            Solution.Add(beginningString + endingString)
        Else
            For I As Integer = 0 To endingString.Length() - 1
                Try
                    Dim newString As String = endingString.Substring(0, I) + endingString.Substring(I + 1)
                    PermuteString(newString, beginningString + endingString(I))
                Catch ex As Exception
                End Try
            Next
        End If
    End Sub

End Class


Bonne Prog
CGSI3
--
Messages postés
3
Date d'inscription
jeudi 30 avril 2009
Statut
Membre
Dernière intervention
1 juin 2014

Bonjour