PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018Внимание! Если программа не работает, обновите версию!begin // структура строки // день время канал вид название(возможно, многословное) // цель: удалив "канал" (третье слово), найти совпадающие строки var ms:=ReadAllLines('TV.txt'); ms.PrintLines; // чтобы было понятно содержимое файла Writeln; var d:=ms.GroupBy(s->(s.ToWords[:2]+s.ToWords[3:]).JoinIntoString(' ')) .Select(t->(t.Key,t.Count)).Where(t->t[1]>1).Select(t->t[0]); if d.Count=0 then Writeln('Искомые передачи отсутствуют') else foreach var s in d do begin var key:=s.ToWords.Take(2).JoinIntoString; ms.Where(t->t.ToWords.Take(2).JoinIntoString=key).Printlines; Writeln endend.
ПримерПонедельник 09:00 Первый Новости Новости на ПервомСуббота 19:40 Первый Фильм Кин-дза-дза!Среда Первый 07:15 НТВ Мультфильм Трое из ПростоквашиноЧетверг 19:40 Первый Фильм Кин-дза-дза!Вторник 09:00 Первый Новости Новости на ПервомПонедельник 12:00 Первый Новости Новости на ПервомПятница 16:40 Россия-1 Мультфильм Трое из ПростоквашиноСуббота 19:40 Россия-1 Фильм Кин-дза-дза!Среда 09:00 Первый Новости Новости на ПервомЧетверг 09:00 Первый Новости Новости на ПервомСуббота 19:40 НТВ Фильм Кин-дза-дза!Суббота 19:40 Первый Фильм Кин-дза-дза!Суббота 19:40 Россия-1 Фильм Кин-дза-дза!Суббота 19:40 НТВ Фильм Кин-дза-дза!