Информатика, вопрос задал bunnydanka2 , 2 года назад

ДАЮ 20 БАЛЛОВ!!!
с клавиатуры вводится строка, состоящая из слов, разделенных пробелами. Составьте программу, удаляющую лишние пробелы. пробел считается лишним, если он стоит в начале или в конце строки, следует за пробелом, стоит перед знаком препинания


bunnydanka2: ( - ! все знаки припинания
bunnydanka2: цифры - нет
bunnydanka2: думаю, что этого будет достаточно: - ' " : ; , ? ! ( ) .
bunnydanka2: кстати, на счет ascii. Я писала программу, использовала ascii, pascal видел символы из таблицы до 127 номера. дальше - нет
bunnydanka2: спасибо большое:)

Ответы на вопрос

Ответил BobbyFresnel
3

===== 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.

Приложения:
Новые вопросы