Решить либо на С, С++, Pascal Дана строка, состоящая из слов, разделенных пробелами. На?

Решить либо на С, С++, Pascal Дана строка, состоящая из слов, разделенных пробелами. На??ишите программу, удаляющую лишние пробелы и добавляющую недостающие пробелы. Пробел считается лишним, если он: *стоит в начале строки; * стоит перед знаком препинания; * стоит в конце строки; * следует за пробелом. Добавить пробел после знака препинания, при условии выполнения предыдущих пунктов.
Гость
Ответ(ы) на вопрос:
Гость
//Pascal ABC.NET v3.1 сборка 1172 Var  s,sr:string;  i,j,n:integer;  pr:array of char=('.',',',';',':','!','?'); begin  readln(s); s:=s.Trim; var ars:=s.ToWords(); s:=''; for i:=0 to ars.Length-1 do s+=ars[i]+' '; s:=s.Trim; i:=0; while i<>s.Length do begin inc(i); if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1); end; i:=0; while i<>s.Length-1 do begin inc(i); if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1); end; s:=s.Trim; writeln(s); end. Пример ввода: Очень, очень ,очень , очень ,очень,очень много слов. Пример вывода: Очень, очень, очень, очень, очень, очень много слов.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы