Меню сайта
Категории каталога
Алгоритмы [5]
Мини-чат
Главная » Статьи » Программирование » Алгоритмы

Часть 1. Поиск подстроки в строке. Простейший алгоритм
Описание
Для пояснения привожу и рассматриваю (см. ниже) код программы Find_Pos_Substring - поиск номера позиции вхождения подстроки
(Pascal). Функция Find ищет в строке S подстроку P и возвращает индекс первого символа вхождения или число "0", если подстрока не найдена. Этот метод, как и большинство методов "грубой силы", применительно к олимпиадным задачам, малоэффективен. Однако не стоит забывать, что и уровень проводимых олимпиад (как и требования, предьявляемые к решению конкретной задачи) различный: школьные, районные, ..., международные и др.,  а значит и этот алгоритм может быть востребован


Исходный код программы

program Find_Pos_Substring;
var
      p,s: string;
   result: integer;

function Find(const S, P : String) : Integer;
var
  i, j : Integer;
begin
  Result := 0;
  if Length(P) > Length(S)
   then Exit;
  for i := 1 to Length(S) - Length(P) + 1 do
  for j := 1 to Length(P) do
  if P[j] <> S[i+j-1]
  then Break
  else
    if j = Length(P)
    then
     begin
       Result := i;
       Exit;
     end;
end;

Begin
   readln(S); readln(P);
   Find (S,P);
   writeln (Result);
End.




Источник: http://www.chasolimp.de
Категория: Алгоритмы | Добавил: chas (10.09.2008) | Автор: Александр Чигиринский
Просмотров: 4457 | Рейтинг: 5.0/3 |
Всего комментариев: 0

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Основной сайт
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright CHAS © 2017
Бесплатный хостинг uCoz