Упорядочить список именинников по месяцу - PascalABC.NET
Формулировка задачи:
в текстовом файле даны фио и дата рождения учеников.Упорядочить их по месяцу,а если месяцы равны-то по числу.вывод осуществлять в текстовый файл.
Решение задачи: «Упорядочить список именинников по месяцу»
textual
Листинг программы
function sDate(s : string) : string; begin var v := s.Split(' ').ToArray(); result := v[v.Length - 3]; end; begin WriteAllText('output.txt', string.Join(NewLine, ReadAllLines('input.txt'). OrderBy(s -> sDate(s).Split('.')[1]).ThenBy(s -> sDate(s).Split('.')[0]))); end.
Объяснение кода листинга программы
В этом коде используется функция sDate
, которая принимает строку и возвращает строку, содержащую третью (последнюю) часть даты в формате день.месяц.год
.
Далее, используется метод Split
для разделения каждой строки в файле input.txt
по пробелам, преобразуя их в массив строк. Затем, используя метод OrderBy
и затем ThenBy
, строки сортируются по месяцу (второй части строки после разделения по точке) и дню (первой части строки после разделения по точке) соответственно.
Наконец, используя метод Join
и NewLine
, отсортированные строки записываются в файл output.txt
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д