Vérif (correction) d'algorithmes - SVP
Bonjour à tous ceux qui passeront par là,
Dans le cadre d'un projet VBA Excel, je dois retranscrire les lignes de code d'un petit programme de gestion de BDD que j'ai réalisé.
J'ai terminé la retranscription. Par contre, est-ce que quelqu'un pourrait m'aider à vérifier (corriger) mes quelques algorithmes ?
Pour commencer, voici mon algorithme de tri shell Metzner que j'utilise :
Code:
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
| Fonction Tri_Metzner (Tablo[1...n][1...m] : Chaine de caractères, NbE : Entier, Sens : Booléen, k : Entier, nbC : Entier) : T[1...n][1...m] : Chaine de caractères
' k permet de trier suivant la colonne voulu
' nbC nombre de colonne du tablo
Ecart : Entier
i : Entier
j : Entier
c : Entier
T : Chaine de caractères
Permut : Booléen
Début
Ecart = NbE/2 ' NbE = Taille de la table
Tant que Ecart <> 0 Faire
Pour i de 1 à NbE-Ecart Faire
j = 1
Permut = VRAI
Tant que j > 0 Et Permut = VRAI Faire
Permut = FAUX
Appeler Sens (j, k, Ecart)
Si (Tablo [j][k] > Tablo [j + Ecart][k] Et Sens = VRAI) Ou (Tablo [j][k] < Tablo [j + Ecart][k] Et Sens = FAUX) Alors
Pour c de 1 à nbC
Tc = Tablo [j][c]
Tablo [j][c] = Tablo [j + Ecart][c]
Tablo [j + Ecart][c] = Tc
c = c + 1
Permut = VRAI
j = j Ecart
Fin Pour
Fin Si
Fin Tant que
i = i + 1
Fin Pour
Ecart = Ecart / 2
Fin Tant que
Fin |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Fonction Sens (T[1...n][1...m]:Chaine de caractères, Ecart : Entier, j : Entier, k : Entier) : Booléen
i : Entier
Sens : Booléen
Début
Si T[j][k] > T[j + Ecart][k] Alors
Sens = VRAI
Sinon
Sens = FAUX
Fin Si
Retourner Sens
Fin |
Merci d'avance pour votre aide
@+
Duch'