|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
17.04.2011, 21:12 | #1 (permalink) |
Новичок
Регистрация: 02.04.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Хеш-функции, помогите пожалуйста
есть исходник на паскале,нужно переделать на С++ помогите пожалуйста 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. |
17.04.2011, 21:12 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пожалуйста, наберитесь побольше информации из этих тема Помогите пожалуйста Помогите пожалуйста Помогите, пожалуйста, с CD-ROM Помогите решить методом половинного деления следующие функции |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
c++ |
Опции темы | |
Опции просмотра | |
|
|