Посчитать количество слов в тексте, которые заканчиваются на гласную букву - C#

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

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

С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов в тексте, которые заканчиваются на гласную букву; выводит на экран все слова, длина которых меньше пяти символов; удаляет все слова, которые содержат хотя бы одну латинскую букву.

Решение задачи: «Посчитать количество слов в тексте, которые заканчиваются на гласную букву»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4.  
  5. class Program
  6. {
  7.     static void Main(string[] args)
  8.     {
  9.         string text = Console.ReadLine();
  10.         int endsWithVowel = 0;
  11.         var shortWords = new List<string>();
  12.         string alteredText = text;
  13.         foreach (Match match in Regex.Matches(text, @"(\p{Lu}|\p{Ll})+"))
  14.         {
  15.             string word = match.Value;
  16.             if (EndsWithVowel(word))
  17.                 endsWithVowel++;
  18.             if (IsShort(word))
  19.                 shortWords.Add(word);
  20.             if (NeedToRemove(word))
  21.             {
  22.                 alteredText = Regex.Replace(alteredText, @"\b" + word + @"\b", "");
  23.             }
  24.         }
  25.         Console.WriteLine("Слов, заканчивающихся на гласную: " + endsWithVowel);
  26.         Console.WriteLine("Слова, которые короче пяти символов:");
  27.         foreach (var word in shortWords)
  28.             Console.WriteLine(word);
  29.         Console.WriteLine("Текст после удаления слов, содержащих латинские буквы:");
  30.         Console.WriteLine(alteredText);
  31.         Console.ReadLine();
  32.     }
  33.  
  34.     static string vowels = "aoueiаеёиоуыэюя";
  35.     static bool IsVowel(char ch)
  36.     {
  37.         return vowels.IndexOf(ch) != -1;
  38.     }
  39.  
  40.     static bool EndsWithVowel(string word)
  41.     {
  42.         return IsVowel(word[word.Length - 1]);
  43.     }
  44.  
  45.     static int maxLength = 4;
  46.     static bool IsShort(string word)
  47.     {
  48.         return word.Length <= maxLength;
  49.     }
  50.  
  51.     static bool NeedToRemove(string word)
  52.     {
  53.         var match = Regex.Match(word, @"([a-z]|[A-Z])");
  54.         return match.Success;
  55.     }
  56. }

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


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

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

11   голосов , оценка 4.364 из 5

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

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

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