static void ShowResearch(AlphabetResearch research) { #if AlphabetEnabled Console.WriteLine("Char\t-\tFrequency"); foreach (var alphabetChar in research.charFrequency) { Console.WriteLine("{0}\t-\t{1}", alphabetChar.Key == '\n' ? "\\n" : alphabetChar.Key.ToString(), alphabetChar.Value); } Console.WriteLine(); #endif Console.WriteLine("Entropy: {0};\nAmount of information: {1}\n", research.entropy, research.amountOfInformation); }
static void TextResearch(string fileName, string content) { AlphabetResearch alphabetResearch = new AlphabetResearch(); HashSet <char> alphabet; alphabet = new HashSet <char>(content); alphabetResearch.charFrequency = new Dictionary <char, double>(); foreach (char ch in alphabet) { alphabetResearch.charFrequency[ch] = CalculateFrequency(content, ch); } alphabetResearch.entropy = CalculateEntropy(alphabetResearch.charFrequency); alphabetResearch.amountOfInformation = CalculateAmountOfInformation(content, alphabetResearch.entropy); Console.WriteLine(fileName + "\n"); ShowResearch(alphabetResearch); }