Модификация без словаря

Дано следующее задание: Вводится текст. Конец ввода F1. В тексте найти, какая из букв первого слова встречается чаще и определить количество ее повторений. (Статические методы без использования статических полей)

Код решения:

using System;
using System.Collections.Generic;
using System.Text;
namespace Лабораторная_работа_2
{
    class Program
    {
        static void Main(string[] args)
        {
            var builder = new StringBuilder();
            EnterWhileNotF1(builder);
            var dicCountLetter = CountLettersFirstWordInText(builder);
            char letter =' ';
            var count = SearchMaxCountLetter(dicCountLetter, ref letter);
            Console.WriteLine();
            Console.WriteLine("Буква '{0}' из первого слова встречалась: {1}", letter, count);
        }

        static void EnterWhileNotF1(StringBuilder text)//ввод текста до ф1
        {
            var input = Console.ReadKey();
            while (input.Key != ConsoleKey.F1)
            {
                text.Append(input.KeyChar);
                input = Console.ReadKey();
            }
        }

        static Dictionary<char, int> CountLettersFirstWordInText(StringBuilder text) //Словарь с буквами первого слова и их кол-вом в тексте
        {
            var result = new Dictionary<char, int>();          
            var textSplit = text.ToString().Split();
            InicilizeDictionary(result, textSplit[0]);
            for (int i = 1;i<textSplit.Length;i++)
            {
                foreach(var e in textSplit[i])
                {
                    if(result.ContainsKey(e))
                        result[e]++;
                }
            }
            return result;
        }

        static void InicilizeDictionary(Dictionary<char, int> dic,string firstWord)// инициализируем словарь по буквам первого слова
        {           
            foreach(var e in firstWord)
            {
                dic[e] = 0;
            }
        }

        static int SearchMaxCountLetter(Dictionary<char, int> dic, ref char letter)// ищем самую популярную букву
        {
            var max = -1;
            foreach(var e in dic)
            {
                if(e.Value > max)
                {
                    max = e.Value;
                    letter = e.Key;
                }       
            }
            return max;
        }
    }
}

Нужно решить без словаря, думаю, что можно сделать через массив, но не имею понятия, как это сделать(


Ответы (0 шт):