ДАЮ 20 БАЛЛОВ!!!
с клавиатуры вводится строка, состоящая из слов, разделенных пробелами. Составьте программу, удаляющую лишние пробелы. пробел считается лишним, если он стоит в начале или в конце строки, следует за пробелом, стоит перед знаком препинания
Answers & Comments
===== PascalABC.NET =====
begin
var p: set of char := ['-', '"', '''', ':', ';', ',',
'?', '!', '(', ')', '.'];
var s:= ReadlnString('Вводите:');
var (a, i) := (s.ToWords, 0);
while i < a.High do
begin
if a[i+1][1] in p then
begin
a[i] += a[i+1];
a[i+1] := '';
i += 2
end
else
i += 1
end;
s:= a.Where(p -> p.Length > 0).JoinIntoString;
Writeln(s)
end.