Найти в файле строку, содержащую первое по алфавиту слово, и удалить ее - PascalABC.NET

Формулировка задачи:

Создать текстовый файл, состоящий из случайного количества (не более 30-и) строк. В каждой строке файла содержится случайное количество (не более 20-и) слов, разделенных пробелами. Каждое слово состоит из случайного количества (не более 8-и) строчных латинских букв. Найти в файле строку, содержащую первое по алфавиту слово, и удалить ее (если таких строк несколько, то удалить все).

Код к задаче: «Найти в файле строку, содержащую первое по алфавиту слово, и удалить ее - PascalABC.NET»

textual
begin
  // создаем первый файл из случайных символов
  WriteAllLines('thread1689280.txt', Range(1, Random(21) + 10).Select(i ->
                string.Join(' ', Range(1, Random(16) + 5).Select(i -> 
                            new String(Range(1, Random(8) + 1).Select(i -> Chr(Random(ord('a'), ord('z')))).ToArray())))).ToArray());
  // находим минимальное слово в файле
  var min := ReadAllText('thread1689280.txt').Split((NewLine + ' ').ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries).Min();
  // и перезаписываем в другой файл все строки из исходного, без строк, которые содержат минимальное слово
  WriteAllLines('thread1689280_1.txt', 
                ReadAllLines('thread1689280.txt').Where(s -> not s.Split(' ').Contains(min)).ToArray());
end.

13   голосов, оценка 3.769 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы