Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

14. Символы, строки, текстовые файлы

Предыдущий раздел:

Следующий раздел:

14.3. Примеры работы со строками

Пример 1: Подсчитать, сколько раз в строке встречается пробел.

Узнать, встречается ли он в принципе можно, используя функцию Pos. Если она вернет 0, то пробел не встречается, иначе мы узнаем, где именно находится первый пробел, однако ничего не узнаем об остальных пробелах.

Для решения задачи переберем все символы строки и, используя переменную счетчик, подсчитаем, сколько из них являются пробелами. Оформим решение в виде функции:

  function SpaceNumber(s: string): integer;
  var
    i, n: integer;
  begin
    n := 0;
    for i := 1 to length(s) do
      if s[i] = ' ' then
        n := n + 1;
    SpaceNumber := n;
  end;

Пример 2: Стандартная функция Pos обнаруживает первое появление некоторой подстроки. Создадим функцию, которая возвращает n-е появление подстроки.

  function PosN(Substr, S, n): integer;
  var
    i, pn, SubLen: integer;
  begin
    SubLen := length(Substr);
    pn := 0; {В этой переменной считаем, сколько раз 
              уже встретили подстроку}
    i:=1;
    while (pn < n)and(i <= lenth(S) – SubLen + 1) do
    {Перебираем элементы строки, пока не найдем нужное коли-
    чество появлений подстроки или не дойдем до конца строки}
    begin
      if Substr = Copy(S, i, SubLen) then
        pn := pn + 1;
      i := i + 1;
    end;
    if pn = n then
      PosN := i
    else
      PosN := 0; {Если подстрока встречается меньше, 
                чем n раз, возвращаем 0}
  end;

Следующий раздел:

Предыдущий раздел:

Добавить комментарий