Даны подстрока, строка и число 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;
Объяснение кода листинга программы
В данном коде реализована процедура удаления из строки заданного количества первых вхождений подстроки.
- В первой строке объявляется процедура с именем EraseSubStr_N.
- Вторая строка объявляет необходимые для работы процедуры переменные: str — строка, в которой необходимо удалить подстроку; substr — подстрока, которую необходимо удалить; n — количество первых вхождений подстроки, которые необходимо удалить.
- Третья строка объявляет счётчик i, который будет использоваться для поиска первого вхождения подстроки в строке str.
- Четвёртая строка начинает цикл, который будет выполняться до тех пор, пока количество первых вхождений подстроки, которые необходимо удалить, больше нуля.
- Пятая строка выполняет поиск первого вхождения подстроки в строке str и сохраняет его в переменную i.
- Если подстрока не найдена (i равно 0), то цикл прерывается командой Break.
- Шестая строка удаляет из строки str подстроку, начиная с позиции i и заканчивая последним символом подстроки.
- Седьмая строка уменьшает значение переменной n на единицу.
- Цикл повторяется до тех пор, пока количество первых вхождений подстроки, которые необходимо удалить, больше нуля.
- По завершении цикла процедурой Pos проверяется, было ли найдено хотя бы одно вхождение подстроки в строку str. Если вхождения не были найдены, выводится сообщение об ошибке.
- Процедура возвращает результат — изменённую копию строки str.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д