Структуры данных. Строки - 14 стр.

UptoLike

16
procedure S61(var S, S1, S2: string);
var n, k: integer;
begin
n := length (S1);
k := pos (S1, S); {k – позиция первого вхождения S1 в S}
while k <> 0 do {повторять, пока S1 входит в S}
begin
{удалить в строке S с k-ой позиции n символов}
delete (S, k, n);
{вставить строку S2 в строку S с k-ой позиции}
insert (S2, S, k);
k := pos (S1, S)
end
end;
Способ решения, реализованный в процедуре
S61, предполагает, что заме-
няемая строка
S1 не содержится в строке S2. В противном случае получим либо
зацикливание, либо просто неверное решение.
Способ решения, реализованный в процедуре
S62, корректно решает по-
ставленную задачу при любых исходных данных. Результат формируется в новой
строке
Sr.
Входные параметры: строки
S, S1, S2.
Выходные параметры: строка
Sr.
procedure S62(var S, S1, S2, Sr: string);
var n, k: integer;
begin
n := length (S1); Sr:=’’;
k := pos (S1, S); {k – позиция первого вхождения S1 в S}