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.
UHJvZ3JhbSBBbmFncmFtbWVzOwpWYXIgbW90MSwgbW90MiA6IHN0cmluZzsKKCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKikKUHJvY2VkdXJlIHNhaXNpZV9jaCAodmFyIG0xLCBtMiA6IHN0cmluZyk7CkJlZ2luClJlcGVhdApXcml0ZWxuKCdkb25uZXIgZGV1eCBtb3RzIDogJyk7ClJlYWRsbihtMSk7ClJlYWRsbihtMik7ClVudGlsKG0xID4gJycpIGFuZCAobTIgPiAnJyk7CkVuZDsKKCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKikKRnVuY3Rpb24gdHJpZSAobW90IDogc3RyaW5nKSA6IHN0cmluZzsKVmFyIGksIGosIG4gOiBpbnRlZ2VyOwpQcm9jZWR1cmUgcGVybXV0ICh2YXIgYSwgYiA6IGNoYXIpOwpWYXIgYXV4IDogY2hhcjsKQmVnaW4KYXV4Oj1hOwphOj1iOwpiOj1hdXg7CkVuZDsKQmVnaW4Kbjo9bGVuZ3RoIChtb3QpOwpGb3IgaTo9MSB0byBuLTEgZG8KRm9yIGo6PWkrMSB0byBuIGRvCklmIG1vdFtpXT5tb3Rbal0gVGhlbiBwZXJtdXQgKG1vdFtpXSwgbW90W2pdKTsKdHJpZSA6PSBtb3Q7CkVuZDsKKCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiopCkJlZ2luCnNhaXNpZV9jaCAobW90MSwgbW90Mik7CklmIHRyaWUgKG1vdDEpID0gdHJpZSAobW90MikgdGhlbgpXcml0ZWxuKG1vdDIsICcgZXN0IHVuZSBhbmFncmFtbWUgZGUgJywgbW90MSkKRWxzZQpXcml0ZWxuKG1vdDIsICcgbicnZXN0IHBhcyB1bmUgYW5hZ3JhbW1lIGRlICcsIG1vdDEpOwpFbmQu