Даны подстрока, строка и число N. Удалить из строки N первых вхождений подстроки (Lazarus) - Free Pascal

Узнай цену своей работы

Формулировка задачи:

1. Даны подстрока, строка и число N. Удалить из строки N первых вхождений подстроки
2. В List Box вводится последовательность чисел. Вычислить сумму квадратов данных чисел
Помогите решить.

Решение задачи: «Даны подстрока, строка и число N. Удалить из строки N первых вхождений подстроки (Lazarus)»

textual
Листинг программы
procedure EraseSubStr_N(var str: Ansistring; const substr: AnsiString; n: Integer);
var
  i: Integer;
begin
  while (n > 0) do
  begin
    i:= Pos(substr, str);
    if i = 0 then Break;
    Delete(str, i, Length(substr));
    Dec(n);
  end;
end;

Объяснение кода листинга программы

В данном коде реализована процедура удаления из строки заданного количества первых вхождений подстроки.

  1. В первой строке объявляется процедура с именем EraseSubStr_N.
  2. Вторая строка объявляет необходимые для работы процедуры переменные: str — строка, в которой необходимо удалить подстроку; substr — подстрока, которую необходимо удалить; n — количество первых вхождений подстроки, которые необходимо удалить.
  3. Третья строка объявляет счётчик i, который будет использоваться для поиска первого вхождения подстроки в строке str.
  4. Четвёртая строка начинает цикл, который будет выполняться до тех пор, пока количество первых вхождений подстроки, которые необходимо удалить, больше нуля.
  5. Пятая строка выполняет поиск первого вхождения подстроки в строке str и сохраняет его в переменную i.
  6. Если подстрока не найдена (i равно 0), то цикл прерывается командой Break.
  7. Шестая строка удаляет из строки str подстроку, начиная с позиции i и заканчивая последним символом подстроки.
  8. Седьмая строка уменьшает значение переменной n на единицу.
  9. Цикл повторяется до тех пор, пока количество первых вхождений подстроки, которые необходимо удалить, больше нуля.
  10. По завершении цикла процедурой Pos проверяется, было ли найдено хотя бы одно вхождение подстроки в строку str. Если вхождения не были найдены, выводится сообщение об ошибке.
  11. Процедура возвращает результат — изменённую копию строки str.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5
Похожие ответы