с клавиатуры вводится произвольная строка символов.Группы символов, разделенные пробелами и не имеющие пробелов внутри, будем называть словами. - вопрос №2014389

Написать программу, которая удаляет все слова с нечетными номерами. Вывести полученную строку на экран. Длина строки не более 100 символов.
например:
Исходная строка: «Пример исходной строки о словами»
Результат: «исходной со»

Ответы

Решение, быть может и не тривиальное, но за 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.

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

Еva

от 100 p.
Читать ответы
Посмотреть всех экспертов из раздела Учеба и наука > Информатика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store