Algorithme de Heap en VBA
Talkme
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais effectué l'algorithme de Heap dans VBA,
Voici le code que j'ai fais. Le problème est que lorsque je le lance, il n'effectue pas les n factorielles permutations et en plus de cela, il effectue les permutations dans une seule cellule du range
Merci pour votre aide
J'aimerais effectué l'algorithme de Heap dans VBA,
Voici le code que j'ai fais. Le problème est que lorsque je le lance, il n'effectue pas les n factorielles permutations et en plus de cela, il effectue les permutations dans une seule cellule du range
Public [/contents/446-fichier-sub Sub] AlgoHeap()
Dim n As Integer
n = 6
Dim i As Integer
For i = 1 To n
Range("Heap").Cells(i, 2) = Range("Affectations").Cells(i, 2)
Next i
i = 1
While i < n
If Range("Heap").Cells(2, i) < i Then
If i Mod 2 = 0 Then
Call Swap(Range("A").Cells(1, 1), Range("A").Cells(i, 1))
Else
Call Swap(Range("A").Cells(Range("Heap").Cells(i, 2), 1), Range("A").Cells(i, 1))
End If
Range("Heap").Cells(i, 2) = Range("Heap").Cells(i, 2) + 1
i = 1
Else
Range("Heap").Cells(i, 2) = Range("Affectations").Cells(i, 2)
i = i + 1
End If
Wend
End Sub
Public Function Swap(d As Integer, b As Integer)
Dim temp As Integer
temp = d
d = b
b = temp
End Function
Merci pour votre aide
Configuration: Windows / Chrome 72.0.3626.109
A voir également:
- Algorithme vba
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Algorithme application pc - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
bonjour, quelle technique as-tu utilisé pour vérifier que ton code se comporte comme tu t'y attends?
il me semble que ta fonction swap ne fait rien d'utile. je pense que tu devrais y travailler avec des range, pas avec des integer.
exemple non testé:
il me semble que ta fonction swap ne fait rien d'utile. je pense que tu devrais y travailler avec des range, pas avec des integer.
exemple non testé:
private Function Swap(d As range, b As range)
Dim temp As Integer
temp = d
d = b
b = temp
End Function