Например a!!.bc....d..e.! => a.....bc.d.e....
в общем вот что у меня получилось:
var
s: string;
p: integer;
begin
s := 'a!!bc....d..e.!';
repeat
p := pos('!', s);
if p > 0 then begin
delete(s, p, length('!'));
insert('.', s, p);
end;
until p = 0;
writeln(s);
end.
восклицательные знаки заменяются нормально. Но при добавлении такого же цикла для точек он уходит в себя. Как сделать правильно?
Еще вопрос как превратить последовательность рядом стоящих точек в одну. Я нашел только как превращать последовательность ЛЮБЫХ символов в один.
var s:string;
var i:integer;
begin
s:='a!!bc....d..e.!';
for i:=1 to ord(s[0]) do
while (s[i]=s[i+1]) and (I<length(s)) do
delete (s,i,1);
writeln(s);
end.
Помогите решить задачку. Или дайте ссылку на подобную (то что я нашел - написал выше)
Заранее благодарен.
Сообщение отредактировано: DIasT -