В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Nora3698
Nora3698
08.08.2020 15:33 •  Информатика

1) составить программу удаляющую из данного текста все буквосочетания "ма" и выводящую получившийся текст и его длину. 2) составить программу находящую количество букв "с" в тексте. 3) составить программу определяющую, какая из букв "е" или "о" встречается в тексте чаще.

Ответ:
Yoongiimfromgot7
Yoongiimfromgot7
08.10.2020 03:38
Using System;
using System.Text.RegularExpressions;
using static System.Console;

internal static class Program
{
    private static void Main()
    {
        try
        {
            WriteLine("Введите строку");
            var s = ReadLine();

            //1) Составить программу удаляющую из данного текста все буквосочетания "ма" и выводящую получившийся текст и его длину.
            var s1 = Task1(s, "ма");
            WriteLine($"Удалить буквосочетания \"ма\"\nТекст = {s1}\nДлина = {s1.Length}");
            s1 = Task1Regex(s, "ма");
            WriteLine($"Удалить буквосочетания \"ма\"\nТекст = {s1}\nДлина = {s1.Length}");

            //2) Составить программу находящую количество букв "с" в тексте.
            WriteLine($"Количество букв \"с\" в тексте = {Task2(s, "с")}");
            WriteLine($"Количество букв \"с\" в тексте = {Task2Regex(s, "с")}");

            //3) Составить программу определяющую, какая из букв "е" или "о" встречается в тексте чаще.
            WriteLine($"В тексте чаще встречается = {Task3(s, "е", "о")}");
            WriteLine($"В тексте чаще встречается = {Task3Regex(s, "е", "о")}");
            ReadLine();
        }
        catch(Exception e)
        {
            WriteLine(e);
            ReadLine();
        }
    }

    private static string Task1(string s, string frase)
    {
        s = s.Replace(frase, "");
        return s;
    }

    private static int Task2(string s, string frase)
    {
        var count = -1;
        var k = -1;
        do
        {
            count++;
            k = s.IndexOf(frase, k+1, StringComparison.Ordinal);
        } while (k >= 0);

        return count;
    }

    private static string Task3(string s, string frase1, string frase2)
    {
        var count1 = Task2(s, frase1);
        var count2 = Task2(s, frase2);

        if (count1 == count2)
            return "поравну";

        return count1 > count2 ? frase1 : frase2;
    }

    private static string Task1Regex(string s, string frase)
    {
        var ms = Regex.Replace(s, frase, "");
        return ms;
    }

    private static int Task2Regex(string s, string frase)
    {
        var m = Regex.Matches(s, frase);
        return m.Count;
    }

    private static string Task3Regex(string s, string frase1, string frase2)
    {
        var count1 = Task2Regex(s, frase1);
        var count2 = Task2Regex(s, frase2);

        if (count1 == count2)
            return "поравну";

        return count1 > count2 ? frase1 : frase2;
    }
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?