Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2011, 23:25   #1
gs.Soroka
 
Регистрация: 04.04.2011
Сообщений: 7
По умолчанию Пример Хеширования

Здравствуйте.
Вот задали мне задачу на хеширование.
Есть ли оно в алгоритме Бойера - Мура???(прога рабочая!).
Если нет,то подскажите какую нибудь задачку попроще пожалуйста.
Вот алгоритм:
const
Nmax = 5;
type

TBMTable = array[0..255] of integer;







function BMSearch( var str, substr : String ) : Integer;
var
Pos, lp, i: Integer;
BMT : TBMTable;
begin

if ( Length(str) = 0 ) then begin ShowMessage('Wrong string '); BMSearch := -1; exit; end;
if ( Length(substr) = 0 ) then begin ShowMessage('Wrong substring '); BMSearch := -1; exit; end;
lp := Length(substr);

for i := 0 to 255 do
BMT[i] := lp;
for i := lp downto 1 do begin
if BMT[Byte(substr[i])] = lp then
BMT[Byte(substr[i])] := lp - i;
end;

Pos := lp;
while Pos < Length(str)+1 do
if substr[lp] <> str[Pos] then begin
Pos := Pos + BMT[Byte(str[Pos])];
end
else for i := lp - 1 downto 1 do begin
if substr[i] <> str[Pos - lp + i ] then
begin
Pos := Pos + 1;
break;
end
else if i = 1 then
begin
Result := Pos - lp + 1;
Exit;
end;
end;
Result := -1;
end;




procedure TForm2.Button1Click(Sender: TObject);
var
str: String; {текст}
substr: String; {слово}

Result: integer;

begin
str:=Edit1.Text;
substr:=Edit2.Text;


Result:=BMSearch(str,substr);
if Result=-1 then
begin
ShowMessage('Подстрока не найдена.');
end;
if Result<>-1 then
begin
ShowMessage('Подстрока найдена в позиции: '+IntToStr(Result));
end;
end;

end.
gs.Soroka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MD5 хеширования ZET78 Общие вопросы C/C++ 2 06.07.2010 23:33
Добавление слов в таблицу методом хеширования Marsel737 Общие вопросы Delphi 0 28.02.2010 18:14
С++ .алгоритм хеширования SHA1 Tigra1900 Помощь студентам 0 01.06.2009 17:07
Все методы хеширования в одной проге Arrenius Помощь студентам 1 25.02.2009 12:27
По поводу алгоритма хеширования md5 Jugger Помощь студентам 2 03.09.2008 22:57