using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;internal static class Program{ private const string glasnye_ = "aeiouy"; private const string soglasnye_ = "bcdfghjklmnpqrstvwxz"; private static void Main() { try { Console.WriteLine("Введите строку слов (любые символы будут считаться разделителями)"); var s = Console.ReadLine(); Console.WriteLine($"Гласных больше чем согласных: {Task1(s).Aggregate("", (current, t) => current + t.ToUpper() + " ")}"); Console.WriteLine(); Console.WriteLine($"Гласных больше чем согласных: {Task1Regex(s).Aggregate("", (current, t) => current + t.ToUpper() + " ")}"); Console.ReadLine(); } catch(Exception e) { Console.WriteLine(e); Console.ReadLine(); } } private static IEnumerable<string> Task1(string s) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Без помощи регулярных выражений"); var words = s.Split(new[] {' ', '-', ',', '.', '*', ':', ';', '_'}, StringSplitOptions.RemoveEmptyEntries).ToList(); var sb = new StringBuilder(); for (var i = 0; i < words.Count; i++) sb.AppendLine($"Слово[{i}] = {words[i].ToUpper()}"); Console.Write(sb.ToString()); var result = new List<string>(); foreach (var word in words) { var k = 0; foreach (var c in word.ToLower().ToCharArray()) { k += glasnye_.Contains(c) ? 1 : 0; k -= soglasnye_.Contains(c) ? 1 : 0; } if (k > 0) result.Add(word); } return result; } private static IEnumerable<string> Task1Regex(string s) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("С регулярными выражениями"); var ms = Regex.Matches(s, @"[A-z]+", RegexOptions.IgnoreCase); var sb = new StringBuilder(); for (var i = 0; i < ms.Count; i++) sb.AppendLine($"Слово[{i}] = {ms[i].Value.ToUpper()}"); Console.Write(sb.ToString()); var result = new List<string>(); for (var i = 0; i < ms.Count; i++) { var v = ms[i].Value; var k = Regex.Matches(v, $"[{glasnye_}]", RegexOptions.IgnoreCase).Count; k -= Regex.Matches(v, $"[{soglasnye_}]", RegexOptions.IgnoreCase).Count; if (k > 0) result.Add(v); } return result; }}