Записать строки в файл в порядке убывания оклада служащего - 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.

Объяснение кода листинга программы

В этом коде:

  1. uses Arrays, System.IO; - подключаются необходимые модули для работы с массивами и вводом/выводом данных.
  2. File.WriteAllLines('EMPLOYEE.TXT', - начинается запись данных в файл с именем EMPLOYEE.TXT.
  3. ReadArrString(ReadLnInteger()) - считывается массив строк. Функция ReadLnInteger() предварительно запрашивает у пользователя ввод целого числа, которое определяет количество строк в массиве.
  4. .OrderByDescending(s -> StrToFloat(s.Split(' ').Last())) - массив строк сортируется по убыванию оклада служащего. Здесь используется метод OrderByDescending, который упорядочивает элементы массива в порядке убывания. В качестве критерия сортировки используется значение, полученное из последней колонки (разделяемой пробелом) каждой строки массива. Это значение преобразуется в число с помощью функции StrToFloat.
  5. ).ToArray() - результат сортировки преобразуется обратно в массив.
  6. Encoding.Default) - указывается кодировка, в которой будет записан файл.
  7. end. - заканчивается выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы