Anagrammes
Résolu/Fermé2 réponses
Bonjour,
Tu as raison, c'est bien une erreur, la bonne instruction est:
Ch=ch[LONG(ch)] +SOUS-CHAINE(ch,1,LONG(ch)-1)
D'autre part tu as écrit PermutCirc comme une procédure alors que dans cette ligne:
s = tete +PermutCirc(queue)
tu fais appel à une fonction, il faut ecrire plutot comme ça
Pour le reste, on ne sait pas d'où sortent les variables (s : chaine ; c : Entier ; var l : Entier)
A+
Tu as raison, c'est bien une erreur, la bonne instruction est:
Ch=ch[LONG(ch)] +SOUS-CHAINE(ch,1,LONG(ch)-1)
D'autre part tu as écrit PermutCirc comme une procédure alors que dans cette ligne:
s = tete +PermutCirc(queue)
tu fais appel à une fonction, il faut ecrire plutot comme ça
Fonction PermutCirc(var ch :chaine) : chaine
Début
Si LONG(ch)>1 Alors
Ch=ch[LONG(ch)] +SOUS-CHAINE(ch,1,LONG(ch)-1)
Fin Si
retourner(ch)
Fin
Pour le reste, on ne sait pas d'où sortent les variables (s : chaine ; c : Entier ; var l : Entier)
A+
SVP, est ce que la deuxième partie de l'algorithme est correcte ?
Procédure Anagramme(s : chaine ; c : Entier ; var l : Entier)
Var
i : Entier
tete, queue : chaine
Début
Pour i de 1 à LONG(s) - c
tete= SOUS-CHAINE (s, 1, c)
queue= SOUS-CHAINE (s, c+1,LONG(s)-c)
s = tete +PermutCirc(queue)
Si c =LONG(s) - 1 Alors
l=l + 1
Ecrire(l,")",s)
Sinon
Anagramme(s, c + 1, l)
Fin Si
Fin Pour
Fin
Procédure Anagramme(s : chaine ; c : Entier ; var l : Entier)
Var
i : Entier
tete, queue : chaine
Début
Pour i de 1 à LONG(s) - c
tete= SOUS-CHAINE (s, 1, c)
queue= SOUS-CHAINE (s, c+1,LONG(s)-c)
s = tete +PermutCirc(queue)
Si c =LONG(s) - 1 Alors
l=l + 1
Ecrire(l,")",s)
Sinon
Anagramme(s, c + 1, l)
Fin Si
Fin Pour
Fin
22 févr. 2016 à 15:05