Combinaisons

landhop Messages postés 3 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 1 juin 2014 - 29 mai 2014 à 14:52
landhop Messages postés 3 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 1 juin 2014 - 1 juin 2014 à 15:03
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

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
29 mai 2014 à 15:27
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).
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
31 mai 2014 à 10:05
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



--
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
31 mai 2014 à 10:41
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
--
0
landhop Messages postés 3 Date d'inscription jeudi 30 avril 2009 Statut Membre Dernière intervention 1 juin 2014
1 juin 2014 à 15:03
Bonjour
0
Rejoignez-nous