В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
girrrrl
girrrrl
02.10.2020 15:43 •  Информатика

Написать программу на паскале авс. дана строка,в которой есть точки,запятые,пробелы,тире,слова. в общем,много-много всего. нужно преобразовать строку по правилам ворда. то есть 1.между словами один пробел 2.перед точкой или запятой пробела нет,но после-есть 3. тире выделяется пробелами с двух сторон вот и все!

Ответ:
Настька1210
Настька1210
03.10.2020 20:27
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.

Пример:
Введите строку:
перед точкой   или   запятой пробела нет   ,но после   -есть   .
перед точкой или запятой пробела нет, но после - есть. 
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?