Помогите с программой. PascalABC.NET Ввести последовательность от 1 до 30 слов, в каждом...

0 голосов
43 просмотров

Помогите с программой.
PascalABC.NET
Ввести последовательность от 1 до 30 слов, в каждом слове от 1 до 10 латинских букв. Между соседними словами не менее одного пробела, за последним словом стоит точка.
1) вывести последовательность в обратном порядке слов
2) вывести последовательность, удалив из неё повторное включение слов.
Тема новая, плохо разбераюсь. Прошу помощи. Заранее спасибо.


Информатика (108 баллов) | 43 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString;
  var a:=s.Left(Pos('.',s)-1).ToWords; // все до точки, по словам
  a.Reverse.Println; // обратный порядок слов
  a.Distinct.Println // без дубликатов
end.

Пример
арбуз     барабан арбуз  вагон голова      дом арбуз. ель
арбуз дом голова вагон арбуз барабан арбуз
арбуз барабан вагон голова дом
(150k баллов)