L'auteur
Mike Gagnon Canada Membre Simple # 0000000025 enregistré le 14/10/2004
Gagnon Mike Pointe Cla H9R 3K8 de la société Carver Technologies Inc. Fiche personnelle
Note des membres
pas de note
|
Contributions > 20 - Trucs et Astuces
Simple permutation
# 0000000209
ajouté le 07/06/2005 19:57:42 et modifié le 10/06/2005
consulté 7808 fois
Niveau
débutant
Version(s) Foxpro : VFP 9.0 VFP 8.0 VFP 7.0 VFP 6.0 VFP 5.0
|
Description |
Voici un simple exemple de permuation. ex: Montrer toutes les combinaison d'une chaine de caractères. |
Code source : |
private nn
nn= 0
CLEAR
permute("abc",0)
PROCEDURE permute(cstr,nLev)
LOCAL nTrylen,i
nTrylen= LEN(cstr)-nLev
IF nTryLen = 0
nn=nn+1
?nn,cstr
ELSE
FOR i = 1 to nTrylen
IF i>1
cstr= LEFT(cstr,nlev) + SUBSTR(cstr,nLev+i,1) +;
SUBSTR(cstr,nLev+2, i-2)+SUBSTR(cstr,nlev+1,1)+SUBSTR(cstr,nLev+i+1)
ENDIF
permute(cstr,nlev+1)
ENDFOR
ENDIF
RETURN
&& Résultat
1 abc
2 acb
3 bac
4 bca
5 cab
6 cba
|
Commentaires |
Aucun commentaire enregistré ...
|