Информатика, опубликовано 2018-08-22 18:45:26 by Гость

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

Ответ оставил Гость

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 insert(...,s,i+1); 
   i:=i-1;
    end 
else i:=i-1;
 end;
write(s);
readln
end.

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.