Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
nerubj
0 / 0 / 0
Регистрация: 13.01.2017
Сообщений: 16
1

Поиск подстроки алгоритмом Кнута

21.04.2017, 21:04. Просмотров 138. Ответов 3
Метки нет (Все метки)

Есть эта процедура, она должна выводить номер елемента на которой находит введенную в едиту подстроку в строке другого едита, но всегда показывает результат 2. Как это исправить?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Function pos (t,p : String) : integer;
 var F : array[0..5] of integer;
     k,i : integer;
 begin
  F[1] := 0;
  k := 0;
  For i := 2 to length(T) do
   begin
    While (k > 0) and (T[k+1] <> T[i]) do
      k := F[k];
    if T[k+1] = T[i] Then
      Inc(k);
    F[i] := k;
   end;
  k := 0;
  For i := 1 to length(P) do
   begin
    While (k > 0) and ( T[k+1] <> P[i]) do
      k := F[k];
    if T[k+1] = T[i] Then
      Inc(k);
    if k = length(T) Then
      Begin
       pos := i+length(t);
       Break
      End;
   end;
 end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2017, 21:04
Ответы с готовыми решениями:

Поиск подстроки в TStringList
Помогите исправить код, нужно найти в stringliste все начальные пробелы в...

Поиск подстроки в строке
Добрый день...скажите, пожалуйста, есть ли такая функция, которая определяет...

Tmemo поиск подстроки
Memo1, ListBox1, Label1, Button1 Поиск в HTML файле ссылок на файлы...

Поиск подстроки в строке
В общем такая проблема: нужно найти подстроку которая вводится в эдит в строке...

Неточный поиск подстроки
Подскажите пожалуйста как реализовать неточный поиск подстроки в строке?...

3
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4037 / 2959 / 3699
Регистрация: 05.06.2014
Сообщений: 14,658
22.04.2017, 09:48 2
Вероятно, алгоритм реализован неверно.
Посмотрите здесь:
Поиск подстроки в строке (алгоритм Кнута-Морриса-Пратта)
0
nerubj
0 / 0 / 0
Регистрация: 13.01.2017
Сообщений: 16
22.04.2017, 10:37  [ТС] 3
Но там же на паскале, как его трансформировать в делфи?
0
D1973
Модератор
3575 / 2577 / 1258
Регистрация: 21.01.2014
Сообщений: 10,851
Записей в блоге: 3
Завершенные тесты: 1
22.04.2017, 10:51 4
Цитата Сообщение от nerubj Посмотреть сообщение
Но там же на паскале, как его трансформировать в делфи?
nerubj, взять и переписать функцию 1:1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2017, 10:51

Поиск вхождения подстроки в тексте
Всем привет! Ребята помогите пожалуйста очень нужна помощь. Есть поле Memo в...

Прямой поиск подстроки в Edit-е
Здравствуйте! Есть некоторая функция которая по сути должна находить номер...

Поиск и замена подстроки в большой строке
Добрый день. Пытаюсь реализовать поиск и замену тега &quot; &lt;/td&gt;&quot; на &quot; &lt;/td&gt; nbsp;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru