Вероятность появления символа в тексте С#
Я новичок, пытался сделать програмку, суть которой посчитать количество символов в тексте, вроде работает. Теперь нужно сделать так чтобы еще показывалась вероятность появления символов.
К примеру есть текст "ЗАВТРА БУДЕТ ДОЖДЬ", вероятность появления буквы "Д" = 3/18, так как символов всего 18, включая пробелы, а буква повторяется трижды. Вот я что-то затрудняюсь, как мне это сюда впихнуть. Возможно кто знает, как это сделать лучше.
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
double chars = richTextBox1.Text.Length;
string TEXT = richTextBox1.Text;//текст
string text = TEXT.ToLower();//в маленкие символы
string AlreadyDone = "";
string[,] Result = new string[text.Length, 2];
int i = 0, l = 0;
foreach (char ch in text)
{
i = 0;
foreach (char c in text)
{
if (ch == c) i++;
}
if (AlreadyDone.Contains(ch) != true)
{
Result[l, 0] = ch.ToString();//символ
Result[l, 1] = i.ToString(); //кол-во символов
AlreadyDone += ch;
l++;
}
}
for (int s = 0; s < AlreadyDone.Length; s++)
{
listBox1.Items.Add(Result[s, 0] + " повторяется " + Result[s, 1] + " раз ");
}
}
Ответы (1 шт):
Автор решения: Игорь
→ Ссылка
Посмотрите аналогичную задачу. Только ней собирается список, а вам нужно суммировать C# Оптимизация кода перебора слов в тексте