Предмет: Информатика, автор: vladimirmax

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

Ответы

Автор ответа: Аноним
3
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.

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

Мама мыла раму. Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла раму
Таня мыла полы
Похожие вопросы
Предмет: Алгебра, автор: kostoglotsofia044
Предмет: История, автор: молодой228