Как использовать значение из словаря символов? - C#
Формулировка задачи:
Надо, чтоб метод посчитал вероятность для каждой буквы, но выводит одно значение, не пойму что не так
public double[] ver(char[] mass) { A ob = new A(); char[] Alpha = mass; int l = 0; double[] kol = new double[Alpha.Length]; double[] ver = new double[Alpha.Length];//вероятность Dictionary<char, int> map = Alpha.GroupBy(x => x) .ToDictionary(x => x.Key, x => x.Count()); foreach (KeyValuePair<char, int> pair in map) { Console.WriteLine(pair.Value); } for (int s = 0; s < Alpha.Length; s++) { foreach (KeyValuePair<char, int> pair in map) { kol[s] = pair.Value; break; } ver[s] = kol[s] / Alpha.Length; Console.WriteLine(ver[s]); } return ver; }
Решение задачи: «Как использовать значение из словаря символов?»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string text = "молоко"; Console.WriteLine("Длина массива {0} {1}\n", text, text.Length); double[] v = ver(text.ToCharArray()); Console.WriteLine("Массив вероятностей:"); foreach (double d in v) { Console.WriteLine("{0,-6:f3}", d); } Console.ReadKey(); } public static double[] ver(char[] mass) { double[] ver = new double[mass.Length]; Dictionary<char, int> map = mass.GroupBy(x => x) .ToDictionary(x => x.Key, x => x.Count()); for (int s = 0; s < mass.Length; s++) { ver[s] = (double)map[mass[s]] / mass.Length;; } return ver; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д