Процедура: заменить в символьной строке все вхождения одной подстроки на другую - 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.

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

  1. Объявлена процедура Swap, которая принимает на вход ссылку на строку s.
  2. Внутри процедуры объявлены две строки: sub1 и sub2, в которые считываются подстроки, которые необходимо заменить и на которую необходимо заменить.
  3. В цикле while происходит поиск первого вхождения подстроки sub1 в строке s с помощью функции pos.
  4. Если подстрока найдена, то с помощью функции insert вставляется подстрока sub2 на место найденной подстроки.
  5. С помощью функции delete удаляется найденная подстрока.
  6. Если подстрока не найдена, то цикл завершается.
  7. Выход из процедуры не предусмотрен.
  8. В основной части программы объявлена строка s, в которую считывается исходная строка.
  9. Вызывается процедура Swap, передавая ей на вход ссылку на строку s.
  10. Выводится измененная строка s.

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


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

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

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