Program Anagrammes;
Var mot1, mot2 : string;
(*********************************)
Procedure saisie_ch (var m1, m2 : string);
Begin
Repeat
Writeln('donner deux mots : ');
Readln(m1);
Readln(m2);
Until(m1 > '') and (m2 > '');
End;
(*********************************)
Function trie (mot : string) : string;
Var i, j, n : integer;
Procedure permut (var a, b : char);
Var aux : char;
Begin
aux:=a;
a:=b;
b:=aux;
End;
Begin
n:=length (mot);
For i:=1 to n-1 do
For j:=i+1 to n do
If mot[i]>mot[j] Then permut (mot[i], mot[j]);
trie := mot;
End;
(*************************************)
Begin
saisie_ch (mot1, mot2);
If trie (mot1) = trie (mot2) then
Writeln(mot2, ' est une anagramme de ', mot1)
Else
Writeln(mot2, ' n''est pas une anagramme de ', mot1);
End.