Подсчитать количество символов в тексте и заменить их - C#

Узнай цену своей работы

Формулировка задачи:

Как реализовать код, который считывает кол-во символов в тексте. И чтобы была ВОЗМОЖНОСТЬ ЗАМЕНИТЬ символы, а именно: находим символ, к примеру, который встречается макс кол-во раз, допустим "н" и заменяем его, допустим на символ 'о'
Что-то наподобие такой логики: ЕСЛИ ('Н' встречается макс. кол-о раз в тексте) то заменить все 'Н' в тексте на 'О' ИНАЧЕ (ищи другой символ с макс. кол-вом)

Решение задачи: «Подсчитать количество символов в тексте и заменить их»

textual
Листинг программы
static void Main(string[] args)
{
    string text = "Абвааа";
    char c = 'О'; //на что меняем
    var fc = FrequencyCharacters(text);
 
    double max_p = 0;
    char max_char = '0';
           
    for (int i = 0; i < fc.Length; i++)
    {
         if (fc[i] > max_p)
         {
             max_p = fc[i];
             max_char = (char)('А' + i);
         }
    }
                 
    Console.WriteLine("Исходный текст: {0}\n\r", text.ToUpper());
 
    Console.WriteLine("Самы частый символ: {0} - {1:P}\n\r", max_char, max_p);
            
    Console.WriteLine("После замены \"{0}\" на \"{1}\" : {2}", max_char, c, text.ToUpper().Replace(max_char, c).ToUpper());
 
    Console.ReadKey();
}
 
static double[] FrequencyCharacters(string text)
{
    var res = new double['Я' - 'А' + 1];
    var length = text.Length;
 
    foreach (var c in text.ToUpper())
    {
        if ((c >= 'А') && (c <= 'Я')) res[c - 'А']++;
    }
    for (int i = 0; i < res.Length; i++)
    {
        res[i] /= length;
    }
    return res;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы