Преобразовать исходную строку, заменив каждую из групп стоящих рядом двух или более точек многоточием (т.е. тремя точками).

Преобразовать исходную строку, заменив каждую из групп стоящих рядом двух или более точек многоточием (т.е. тремя точками).
Гость
Ответ(ы) на вопрос:
Гость
uses crt; var s:string;      i,j:byte; begin  clrscr; writeln('Введите строку, содержащую точки, как по 1, так и группами:'); readln(s); if (length(s)>1)and(copy(s,1,2)='..') then{если в начале строки более 1 точки}   begin                                     {или строка вообще из точек}    while (s[1]='.')and(length(s)>0) do delete(s,1,1);    insert('...',s,1);  end; if(length(s)>2)and(s<>'...') then{если осталось более 2 сиволов, начнем                                   проверять с конца}   begin   i:=length(s)-2;   while i>=1 do   if (s[i]<>'.')and(copy(s,i+1,2)='..') then    begin     while (s[i+1]='.')and(i+1<=length(s)) do delete(s,i+1,1);      insert('...',s,i+1);      i:=i-1;     end   else i:=i-1;  end; write(s); readln end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы