Решить в Pascal: Дана строка и некоторое слово. Напечатать те предложения строки, которые...

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

Решить в Pascal:
Дана строка и некоторое слово. Напечатать те предложения строки, которые содержат данное слово.


Информатика (1.0k баллов) | 153 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString;
  var a:=s.ToWords('.').Select(t->Trim(t)).ToArray;
  var b:=s.ToWords(Arr('.',' '))
      .GroupBy(t->t).Select(t->(t.Key,t.Count))
      .Where(t->t[1]>1).Select(t->t[0]).ToArray;
  a.Cartesian(b,(p,q)->p.Contains(q)?p:'')
      .Where(t->t.Length>0).Distinct.PrintLines
end.

Примеры
Мама мыла полы. Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла полы
Таня мыла полы

Мама мыла раму. Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла раму
Таня мыла полы
(150k баллов)
0

Спасибо огромное)))