fork download
  1. using System;
  2. using System.Text;
  3.  
  4. public class Test
  5. {
  6. public static void Main()
  7. {
  8. var s = Console.ReadLine();
  9. var sb = new StringBuilder();
  10.  
  11. Func<int, bool> check = (int i) => i >= 0 && i < s.Length && Char.IsLetterOrDigit(s[i]);
  12.  
  13. for (var q=0; q<s.Length; )
  14. if (Char.IsLetterOrDigit(s[q]) && !check(q-1) && !check(q+1))
  15. while (++q<s.Length && !Char.IsLetterOrDigit(s[q]));
  16. else
  17. sb.Append(s[q++]);
  18.  
  19. Console.WriteLine(sb.ToString());
  20. }
  21. }
Success #stdin #stdout 0.02s 16192KB
stdin
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Удалить из сообщения все однобуквенные слова. C#. Есть код, но как я понимаю он не удаляет, а перезаписывает. Нужно обязательно через StringBuilder сделать. Нужно как понимаю через Remove. Но не знаю как это реализовать. Вот исходник
stdout
Дана строка, которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами знаками препинания. Удалить из сообщения все однобуквенные слова. Есть код, но как понимаю он не удаляет, перезаписывает. Нужно обязательно через StringBuilder сделать. Нужно как понимаю через Remove. Но не знаю как это реализовать. Вот исходник