Написать программу на Паскале АВС. Дана строка,в которой есть точки,запятые,пробелы,тире,слова. В общем,много-много всего. Нужно преобразовать строку по правилам Ворда. То есть 1.между словами один пробел 2.перед точкой или зап...

Написать программу на Паскале АВС. Дана строка,в которой есть точки,запятые,пробелы,тире,слова. В общем,много-много всего. Нужно преобразовать строку по правилам Ворда. То есть 1.между словами один пробел 2.перед точкой или запятой пробела нет,но после-есть 3. тире выделяется пробелами с двух сторон Вот и все!
Гость
Ответ(ы) на вопрос:
Гость
var s,s1:string; i,p:integer; begin writeln('Введите строку:'); readln(s); s1:=''; for i:=1 to length(s) do  case s[i] of  ',','.' : s1:=s1+s[i]+' ';  '-'     : s1:=s1+' - ';  else s1:=s1+s[i];  end; p:=pos('  ',s1); while p>0 do  begin delete(s1,p,1); p:=pos('  ',s1); end; p:=pos(' ,',s1); while p>0 do  begin delete(s1,p,1); p:=pos(' ,',s1); end; p:=pos(' .',s1); while p>0 do  begin delete(s1,p,1); p:=pos(' .',s1); end;  writeln(s1); end. Пример: Введите строку: перед точкой   или   запятой пробела нет   ,но после   -есть   . перед точкой или запятой пробела нет, но после - есть. 
Не нашли ответ?
Ответить на вопрос
Похожие вопросы