Example #1
0
        /// <summary>
        /// Программа принимает на входе 2 пути до файлов.
        /// Анализирует в первом файле кол-во вхождений каждой буквы (регистрозависимо). Например А, б, Б, Г и т.д.
        /// Анализирует во втором файле кол-во вхождений парных букв (не регистрозависимо). Например АА, Оо, еЕ, тт и т.д.
        /// По окончанию работы - выводит данную статистику на экран.
        /// </summary>
        /// <param name="args">Первый параметр - путь до первого файла.
        /// Второй параметр - путь до второго файла.</param>
        static void Main(string[] args)
        {
            AlphabetLetter alphabetSingleLetter = new AlphabetLetter("абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ");
            AlphabetLetter alphabetDoubleLetter = new AlphabetLetter("абвгдеёжзийклмнопрстуфхцчшщъыьэюя");

            IReadOnlyStream inputStream1 = GetInputStream(args[0]);
            IReadOnlyStream inputStream2 = GetInputStream(args[1]);

            //IList<LetterStats> singleLetterStats =
            FillSingleLetterStats(inputStream1, alphabetSingleLetter);
            PrintStatisticSingle(alphabetSingleLetter);


            //IList<LetterStats> doubleLetterStats =
            FillDoubleLetterStats(inputStream2, alphabetDoubleLetter);
            PrintStatisticDouble(alphabetDoubleLetter);

            Console.WriteLine("Убираем гласные.");
            RemoveCharStatsByType(alphabetSingleLetter, CharType.Vowel);
            PrintStatisticSingle(alphabetSingleLetter);

            Console.WriteLine("Убираем согласные.");
            RemoveCharStatsByType(alphabetDoubleLetter, CharType.Consonants);
            PrintStatisticDouble(alphabetDoubleLetter);

            inputStream1.Close();
            inputStream2.Close();

            // TODO : Необжодимо дождаться нажатия клавиши, прежде чем завершать выполнение программы.
            Console.Read();
        }
Example #2
0
 /// <summary>
 /// Метод для закрытия потока чтения
 /// </summary>
 /// <param name="readOnlyStream">Поток</param>
 private static void CloseInputStream(IReadOnlyStream readOnlyStream)
 {
     readOnlyStream.Close();
 }