Bonjour, j'ai fais cet algo, mais j'ai un peu de mal à voir si ça correspond, quelqu'un peut me dire si il est correct et si il est possible d'optimisé ?
L'énoncé
Deux mots son anagrammes l'un de l'autre si l'un peut être obtenu par transposition des lettres de l'autre.
Exemple : "MARIE" et "AIMER" sont anagrammes l'un de l'autre ce qui n'est pas le cas pour "BON" et "BONBON".
écrire un algo qui entre deux chaines de caractères de lettres majuscules et sort "OUI" si ces deux chaines sont anagramme l'une de l'autre et "NON" dans le cas contraire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
38
39
40
41 ActionAnagramme Var CH1:CH2:C = Chaine de caractére LongCH1:LongCH2:i:j = Numerique Final1 : Final2 = Bouléen Début Entrée CH1 Entrée CH2 LongCH1 = long(CH1) LongCH2 = long(CH2) i=j=0 Final1 = Final2 = FALSE %Coparaison des longeurs des lettres% Si LongCH1 <> LongCH2 Sortir "NON" Sinon Tant que Final1 = false ou i <= LongCH1 i = i + 1 Final1 = False j = 0 C = Schain(CH1, i , 1) % On copie une lettre du mot dnas la variable C % Tant que j <= LongCh2 ou Final2 = TRUE j = 1 + j SI C = Schaine(CH2,j,1) % si la lettre contenu dans la variable c est trouver on arrete la boucle% Final2=TRUE FinSI FINTantQUE Si j > Long(CH2) % si j > au nombre de lettre contenue dans la chaine de caractére alors les mots ne sont pas anagramme% Final1 = TRUE FinSI FINTantQUE FinSI Si Final1 = TRUE Sortir "NON" Sinon Sortir "OUI" FinSI FinAction
Partager