Перемена местами букв в слове и поиск совпадений в словаре - Pascal

Формулировка задачи:

С горем пополам написал код для перестановки букв в введенном слове. Как сделать поиск полученных вариантов в словаре слов? Словарь русских слов в тхт формате. Например: ввожу слово beer Выдает варинты: beer bere bree eber ebre eebr eerb erbe ereb rbee rebe reeb. Нужно проверить есть ли какой нибудь вариант в словаре.
var a, b: array[1..255] of integer; 
 s:string;
 len, i:integer;
 procedure rec(t:integer);
 var i:integer;
 begin
 if t>len then begin
  for i:=1 to len do write(chr(b[i]));
  writeln();
  Exit;
 end;
 for i:=1 to 255 do
  if a[i]>0 then begin
  b[t]:=i;
  dec(a[i]);
  rec(t+1);
  inc(a[i]);  
  end;
 end;
 
 begin
 writeln('Введите строку');
 read(s);
 len:=Length(s);
 for i:=1 to len do
 inc(a[ord(s[i])]);
 rec(1); 
 end.

Код к задаче: «Перемена местами букв в слове и поиск совпадений в словаре - Pascal»

textual
const DictName='dict-ru.txt';
function DictFind(const s: String): Boolean;
var f: Text; t: String;
begin
  Assign(f,DictName); Reset(f); t:='';
  while not SeekEoF(f) and (t<s) do ReadLn(f,t);
  Close(f);
  DictFind:=t=s;
end;
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

10   голосов, оценка 4.400 из 5


СДЕЛАЙТЕ РЕПОСТ