Register

OR

Do you already have an account? Login

Login

OR

Don't you have an account yet? Register

Newsletter

Submit to our newsletter to receive exclusive stories delivered to you inbox!

C клавиатуры вводится произвольная строка символов. Группы символов, разделенные пробелами и не имеющие пробелов внутри, будем называть словами. Написать программу, которая удаляет все слова с нечетными номерами. Вывести полученную строку на экран. Длина строки не более 100 символов.

более месяца назад
Просмотров : 18    Ответов : 1   

Лучший ответ:

Решение, быть может и не тривиальное, но за 5 баллов ломать голову, как это сделать "по-школьному" мне не захотелось. Да и не требовалось по условию... даже язык программирования не был указан.

// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
  var s:=ReadlnString('>');
  var m:=s.Matches('(S )').Select(x->(x.Index 1,x.Value.Length));
  // получили последовательность элементов вида <позиция><длина>,
  // отражающих положение слов в строке.
  var n:=m.Count; // количество слов
  if n.IsEven then Dec(n);
  while n>0 do begin
    var e:=m.ElementAt(n-1);
    Delete(s,e.Item1,e.Item2);
    Dec(n,2)
    end;
  Writeln(s)
end.

Тестовое решение
>    Карл  у  Клары   украл кораллы Клара    у   Карла украла кларнет  
     у     украл  Клара       Карла  кларнет

более месяца назад
Ваш ответ:
Комментарий должен быть минимум 20 символов
Чтобы получить баллы за ответ войди на сайт





Вы можете из нескольких рисунков создать анимацию (или целый мультфильм!). Для этого нарисуйте несколько последовательных кадров и нажмите кнопку Просмотр анимации.


Другие вопросы: