Записать строки в файл в порядке убывания оклада служащего - PascalABC.NET
Формулировка задачи:
На вход программы подается натуральное число N, не превосходящее 100,а за ним N строк следующей структуры:
Служащий-ФИО(текстовое 50 символов),должность(текстовое 15 символов),оклад(вещественное). Программа должна записать строки в файл EMPLOYEE.TXT в порядке убывания оклада служащего.
Пример ввода | Вывод в файл |
---|
Решение задачи: «Записать строки в файл в порядке убывания оклада служащего»
textual
Листинг программы
uses Arrays, System.IO; begin &File.WriteAllLines('EMPLOYEE.TXT', ReadArrString(ReadLnInteger()).OrderByDescending(s -> StrToFloat(s.Split(' ').Last())).ToArray() Encoding.Default) end.
Объяснение кода листинга программы
В этом коде:
uses Arrays, System.IO;
- подключаются необходимые модули для работы с массивами и вводом/выводом данных.File.WriteAllLines('EMPLOYEE.TXT',
- начинается запись данных в файл с именемEMPLOYEE.TXT
.ReadArrString(ReadLnInteger())
- считывается массив строк. ФункцияReadLnInteger()
предварительно запрашивает у пользователя ввод целого числа, которое определяет количество строк в массиве..OrderByDescending(s -> StrToFloat(s.Split(' ').Last()))
- массив строк сортируется по убыванию оклада служащего. Здесь используется методOrderByDescending
, который упорядочивает элементы массива в порядке убывания. В качестве критерия сортировки используется значение, полученное из последней колонки (разделяемой пробелом) каждой строки массива. Это значение преобразуется в число с помощью функцииStrToFloat
.).ToArray()
- результат сортировки преобразуется обратно в массив.Encoding.Default)
- указывается кодировка, в которой будет записан файл.end.
- заканчивается выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д