String38. Даны строки $$S$$, $$S_1$$ и $$S_2$$. Заменить в строке $$S$$ все вхождения строки $$S_1$$ на строку $$S_2$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
program String38; var S,S1,S2:string; i:integer; begin Write('S:'); Readln(S); Write('S1:'); Readln(S1); Write('S2:'); Readln(S2); i:=1; if (S1<>'') and (S1<>S2) then while (i<=(length(S)-length(S1)+1)) do begin if Copy(S,i,Length(S1))=S1 then begin Delete(S,i,Length(S1)); Insert(S2,S,i); i:=i+Length(S2)-1; end; inc(i); end; Writeln(S); end. |
Другие задачи из раздела String можно посмотреть здесь.
Комментарии: