Помогите написать программу на cДан массив из n слов произвольной длины

Помогите написать программку на c
Дан массив из n слов случайной длины (длина слова не превосходит 80 знаков). Знаками могут быть только заглавные латинские буковкы. Отыскать и вывести все слова, у которых число гласных букв превосходит число согласных

Задать свой вопрос
1 ответ
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("Гласных больше чем согласных:\n Task1(s).Aggregate("", (current, t) =gt; current + t.ToUpper() + " ")");
            Console.WriteLine();
            Console.WriteLine("Гласных больше чем согласных:\n Task1Regex(s).Aggregate("", (current, t) =gt; current + t.ToUpper() + " ")");
            Console.ReadLine();
       
        catch(Exception e)
       
            Console.WriteLine(e);
            Console.ReadLine();
       
   

    private static IEnumerablelt;stringgt; 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 lt; words.Count; i++)
            sb.AppendLine("Слово[i] = words[i].ToUpper()");

        Console.Write(sb.ToString());

        var result = new Listlt;stringgt;();

        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 gt; 0)
                result.Add(word);
       

        return result;
   

    private static IEnumerablelt;stringgt; 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 lt; ms.Count; i++)
            sb.AppendLine("Слово[i] = ms[i].Value.ToUpper()");

        Console.Write(sb.ToString());

        var result = new Listlt;stringgt;();
        for (var i = 0; i lt; 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 gt; 0)
                result.Add(v);
       

        return result;
   



, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт