Аватар
Информатика, опубликовано 2018-08-22 21:54:09 by Гость

Написать программу на Паскале АВС. Дана строка,в которой есть точки,запятые,пробелы,тире,слова. В общем,много-много всего. Нужно преобразовать строку по правилам Ворда. То есть 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.

Пример:
Введите строку:
перед точкой   или   запятой пробела нет   ,но после   -есть   .
перед точкой или запятой пробела нет, но после - есть.

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