Другой вариант кода. Работает для любого исходного набора букв.
Сами буквы запрашиваются при запуске.
Код:
uses crt;
var
cs:string;
cnum:integer;
wnum:longint;
procedure word(s:string); far;
var
i:integer;
begin
if length(s)<cnum then
begin
for i:=1 to cnum do
if Pos(cs[i],s)=0
then word(s+cs[i]);
end else
begin
writeln (wnum:10,' ',s);
if (wnum mod 22) = 0 then
begin
writeln(#13,'Pres Space ... or Enter ... or ...');
readkey;
clrscr;
end;
inc(wnum);
end
end;
begin
clrscr;
write('Input leter: ');
readln(cs);
cnum:=length(cs);
wnum:=1;
word('');
end.