Anagrams.p
Make Anagrams Recursively. Sources in Pascal programming language. (C) 1989 - Stefano Caschi
program anagram (input,output); type parola=string[80]; var l:integer; chars:parola; procedure ricursive (n:integer;var stringa:parola); var newstringa:parola; x,c:integer; begin if n<l then begin for c:= 1 to l-n+1 do begin for x:= 0 to n-1 do newstringa[x]:=stringa[x]; for x:= n to l-1 do newstringa[x]:=stringa[x+1]; newstringa[l]:=stringa[n];
ricursive(n+1,newstringa); stringa:=newstringa; end end else writeln(stringa) end; begin {main} write ('Inserisci parola: '); read (chars); l:=length(chars); ricursive(1,chars) end. |