Вывод предложений из текстового файла в обратном порядке - C#

Узнай цену своей работы

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

Помогите пожалуйста решить задачу! Написать программу, которая считывает из текстового файла три предложения и выводит их в обратном порядке. Что то как то пыталась:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. namespace ConsoleApplication1
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. StreamReader sr = new StreamReader("111.txt");
  14. string[] text = new string[3];
  15. for (int i = 0; i < 3; i++)
  16. {
  17. text[i] = sr.ReadLine();
  18. }
  19. sr.Close();
  20. for (int i = 2; i >= 0; i--)
  21. {
  22. Console.WriteLine(text[i]);
  23. }
  24. /* string text1 = File.ReadAllText("111.txt");
  25. string[] sentences = text1.Split(new char[] { '.', '!', '?' });
  26. foreach (string s in sentences)
  27. {
  28. if (s.Contains("оператор"))
  29. Console.WriteLine(s);*/
  30. Console.ReadLine();
  31. }
  32. }
  33. }
  34. }

Решение задачи: «Вывод предложений из текстового файла в обратном порядке»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text.RegularExpressions;
  7. namespace ConsoleApplication2
  8. {
  9.     class Program
  10.     {
  11.         static void Main()
  12.         {
  13.             var text = File.ReadAllText("111.txt");
  14.             var sentences = text.GetSentences();
  15.             var numbers = text.GetNumbers();
  16.             /*1 задание*/
  17.             foreach (var sentence in sentences.Take(3).Reverse())
  18.                 Console.WriteLine(sentence);
  19.             /*2 задание*/
  20.             foreach (var sentence in sentences.Where(sentence => sentence.Contains("Hello")))
  21.                 Console.WriteLine(sentence);
  22.             /*3 задание*/
  23.             foreach (var number in numbers)
  24.                 Console.WriteLine(number);
  25.             Console.ReadKey();
  26.         }
  27.     }
  28.     static class Extensions
  29.     {
  30.         public static List<string> GetSentences(this string text)
  31.         {
  32.             if (string.IsNullOrEmpty(text))
  33.                 throw new ArgumentNullException(nameof(text));
  34.             var matches = Regex.Matches(text, @"(\S.+?[.!?])(?=\s+|$)", RegexOptions.Compiled);
  35.             var sentences = matches.Cast<Match>().Select(match => match.Value).ToList();
  36.             return sentences;
  37.         }
  38.         public static List<double> GetNumbers(this string text)
  39.         {
  40.             if (string.IsNullOrEmpty(text))
  41.                 throw new ArgumentNullException(nameof(text));
  42.             var matches = Regex.Matches(text, @"-?\d+(?:\.\d+)?", RegexOptions.Compiled);
  43.             var numbers = matches.Cast<Match>().Select(match => double.Parse(match.Value, CultureInfo.InvariantCulture)).ToList();
  44.             return numbers;
  45.         }
  46.     }
  47. }

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


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

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

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы