Задать вопрос
14 февраля, 12:02

Помогите написать программу на c#

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

+1
Ответы (1)
  1. 14 февраля, 12:58
    0
    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) = > current + t. ToUpper () + " ") }") ;

    Console. WriteLine () ;

    Console. WriteLine ($"Гласных больше чем согласных:/n {Task1Regex (s). Aggregate ("", (current, t) = > current + t. ToUpper () + " ") }") ;

    Console. ReadLine () ;

    }

    catch (Exception e)

    {

    Console. WriteLine (e) ;

    Console. ReadLine () ;

    }

    }

    private static IEnumerable 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 () ;

    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 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 () ;

    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;

    }

    }
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Помогите написать программу на c# Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
Помогите с программой на c# Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Символами могут быть только заглавные латинские буквы. Найти и вывести все слова, у которых число гласных букв превышает число согласных
Ответы (1)
Хотя бы 3-4 задачи! 1) Дан одномерный целочисленный массив размерностью N. Найдите количество элементов, которые кратны 3 (5). 2) Дан одномерный целочисленный массив А, состоящий из N элементов. Найти сумму всех четных элементов массива.
Ответы (1)
Во имя радостных мессий, помогите хоть одну задачку. Не шарю ( Дан массив из 15 элементов. Необходимо заполнить его с помощью оператора присваивания (случайными числами), вывести все элементы в строку, а затем вывести произведение всех элементов
Ответы (1)
Дан список слов кран склон кратер кража 1 в слове не пять букв 2 в слове две гласных и четыри буквы согласных 3 в слове две гласных или четыри буквы согласных 4 в слове четыри буквы и не две буквы согласных
Ответы (1)
Дан список слов: корова, луг, оса, клевер. Укажи номер высказывания и рядом с ним запиши слова, для которых это высказывания истинно: 1) слово НЕ имеет равного числа букв гласных и согласных; 2) в слове три буквы И две буквы согласных;
Ответы (1)