Посчитать количество слов в тексте, которые заканчиваются на гласную букву - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д