![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 02.04.2011
Сообщений: 4
|
![]()
Поиск подстроки в строке с помощью хеш-функции. Помогите пожалуйста! есть исходник на паскале,надо переделать в С++
Program FSISHF; {поиск подстроки в строке} Const NStr = 30000; NSub = 3000; Var FStr : array[1..NStr] of char; FSub : array[1..NSub] of char; {substring} FSum, NSum : longint; {Контрольная сумма} Spec, Work : word; Flag : boolean; Begin FSum := 0; NSum := 0; FillChar(FStr, SizeOf(FStr), 0); FillChar(FSub, SizeOf(FSub), 0); For Spec := 1 to NSub do FSum := FSum + Ord(FSub[Spec]); For Spec := 1 to NSub do NSum := NSum + Ord(FStr[Spec]); For Spec := NSub to NStr do begin If NSum = FSum then begin Flag := true; For Work := 1 to NSub do If FSub[Work] <> FStr[Spec - NSub + Work] then begin Flag := false; break; end; If Flag = true then begin Writeln ('substring starts at position: ', Spec - NSub); Halt; end; end; NSum := NSum + Ord(FStr[Spec + 1]) - Ord(FStr[Spec - NSub + 1]); end; Writeln('no such substring'); end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хеш вконтакте. | dharma | Общие вопросы Delphi | 3 | 03.01.2011 17:12 |
хеш-функция | chyngyz91 | Общие вопросы C/C++ | 2 | 12.12.2010 12:32 |
хеш-таблица | CHUCKe | Помощь студентам | 2 | 17.11.2010 23:30 |
Хеш-функция | pwdan | Помощь студентам | 4 | 21.04.2010 12:58 |
Хеш - Функции | 777Aidar777 | Помощь студентам | 0 | 30.12.2009 11:36 |