Процедура: заменить в символьной строке все вхождения одной подстроки на другую - Pascal
Формулировка задачи:
Дано задание: "Напишите программу, которая заменяет в символьной строке все вхождения одной подстроки на другую. Используйте процедуру.
Входные данные:"Первая входная строка содержит символьную строку, которую нужно обработать. Во второй и третьей строках записаны соответственно подстрока-образец (которую нужно менять) и подстрока-замена."
Выходные данные:"Программа должна вывести обработанную символьную строку, в которой все вхождения подстроки-образца заменены на подстроку-замену."
Пример (как объяснили): Вход: sdfBHUsdf
sdf
VIC
Выход: VICBHUVIC
"Приказали" сделать в Pascal с помощью символьных строк (моя глупость соизмерима с градусной мерой тупого угла).
Помогите кто чем может.
Решение задачи: «Процедура: заменить в символьной строке все вхождения одной подстроки на другую»
textual
Листинг программы
procedure Swap(var s: string); var sub1, sub2: string; begin readln(sub1); readln(sub2); while (pos(sub1, s) <> 0) do begin insert(sub2, s, pos(sub1, s)); delete(s, pos(sub1, s), length(sub1)); end; end; var s: string; begin readln(s); Swap(s); writeln(s); end.
Объяснение кода листинга программы
- Объявлена процедура Swap, которая принимает на вход ссылку на строку s.
- Внутри процедуры объявлены две строки: sub1 и sub2, в которые считываются подстроки, которые необходимо заменить и на которую необходимо заменить.
- В цикле while происходит поиск первого вхождения подстроки sub1 в строке s с помощью функции pos.
- Если подстрока найдена, то с помощью функции insert вставляется подстрока sub2 на место найденной подстроки.
- С помощью функции delete удаляется найденная подстрока.
- Если подстрока не найдена, то цикл завершается.
- Выход из процедуры не предусмотрен.
- В основной части программы объявлена строка s, в которую считывается исходная строка.
- Вызывается процедура Swap, передавая ей на вход ссылку на строку s.
- Выводится измененная строка s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д