Посчитать количество слов в тексте, которые заканчиваются на гласную букву - C#
Формулировка задачи:
С клавиатуры вводится строка. Составить программу, которая подсчитывает количество слов в тексте, которые заканчиваются на гласную букву; выводит на экран все слова, длина которых меньше пяти символов; удаляет все слова, которые содержат хотя бы одну латинскую букву.
Решение задачи: «Посчитать количество слов в тексте, которые заканчиваются на гласную букву»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Text.RegularExpressions;
- class Program
- {
- static void Main(string[] args)
- {
- string text = Console.ReadLine();
- int endsWithVowel = 0;
- var shortWords = new List<string>();
- string alteredText = text;
- foreach (Match match in Regex.Matches(text, @"(\p{Lu}|\p{Ll})+"))
- {
- string word = match.Value;
- if (EndsWithVowel(word))
- endsWithVowel++;
- if (IsShort(word))
- shortWords.Add(word);
- if (NeedToRemove(word))
- {
- alteredText = Regex.Replace(alteredText, @"\b" + word + @"\b", "");
- }
- }
- Console.WriteLine("Слов, заканчивающихся на гласную: " + endsWithVowel);
- Console.WriteLine("Слова, которые короче пяти символов:");
- foreach (var word in shortWords)
- Console.WriteLine(word);
- Console.WriteLine("Текст после удаления слов, содержащих латинские буквы:");
- Console.WriteLine(alteredText);
- Console.ReadLine();
- }
- static string vowels = "aoueiаеёиоуыэюя";
- static bool IsVowel(char ch)
- {
- return vowels.IndexOf(ch) != -1;
- }
- static bool EndsWithVowel(string word)
- {
- return IsVowel(word[word.Length - 1]);
- }
- static int maxLength = 4;
- static bool IsShort(string word)
- {
- return word.Length <= maxLength;
- }
- static bool NeedToRemove(string word)
- {
- var match = Regex.Match(word, @"([a-z]|[A-Z])");
- return match.Success;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д