|
(* Stampa gli anagrammi di una parola *)
program StampaAnagrammi;
uses wincrt;
var str:string;
fw:text;
procedure Anagr(pref, p:string);
var i,l:integer;
c:char;
resto:string;
begin
l:=length(p);
if l<=1 then writeln(fw,pref, p, ' ')
else
for i:=1 to l do
begin
c:=p[i];
resto:=copy(p,1,i-1) + copy(p, i+1, l-i);
Anagr(pref+c, resto);
end;
end;
begin
assign(fw,'anagrammi.txt');
rewrite(fw);
writeln('Inserisci una stringa: ');
readln(str);
writeln(fw,'Gli anagrammi di ',str,' sono: ');
Anagr('',str);
close(fw);
end.
|
|