Другие языки программирования и технологии

помогите со строками в C#

Напишите пожалуйста участок кода в C#: Дан текст. Слова в тексте отделены одним пробелом. В конце текста точка. Определить, какой процент слов в тексте содержит удвоенную согласную.
Лень запускать VB студию и писать всё это. Попробую псевдо-код накидать на русском, а ты думай.

1) Начинаем чтение текста по символам Char.
2) Каждый символ заносим в переменную Chat A, а каждый следующий символ в переменную Char B.
3) Каждый тик цикла чтения сравниваем А с B. Если они равны, проверяем, являются ли они согласными. Если "да" - то увеличиваем счетчик слов с удвоенной согласной. Согласный вручную, заранее заносим в виде массива к примеру в нижний регистр и перед проверкой сам текст тоже приводим к нижнему регистру. Кажись это string.Lower()
4) Если встречается пробел - прибавляем +1 к счетчику слов. Он же должен как-то перезапускать цикл побуквенной проверки слов. Т. е. перезапускать его с новым - следующим словом.
KA
Karen Arakel
19 451
Лучший ответ
public static bool IsVowel(char c)
{
long x = (long)(char.ToUpper(c)) - 64;
return x * x * x * x * x - 51 * x * x * x * x + 914 * x * x * x - 6894 * x * x + 20205 * x - 14175 == 0;
}

static double DblConsonant(string _Sentence)
{
string[] ss = _Sentence.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
int n = 0;
foreach (string s in ss)
{
char[] cc = s.ToCharArray();
foreach (char c in cc)
if (!IsVowel(c))
if (s.Contains(new string(c, 2)))
{
n++;
break;
}
}
return n * 100.0 / ss.Count();
}
Владимир Карлов return x * x * x * x * x - 51 * x * x * x * x + 914 * x * x * x - 6894 * x * x + 20205 * x - 14175 == 0; Что значит эта строка?
Конечно мой кусок нубский по сравнению с return x * x * x * x * x - 51 * x * x * x * x + 914 * x * x * x - 6894 * x * x + 20205 * x - 14175 == 0;

надо подключить
using System.Linq;
using System.Text.RegularExpressions;

и тогда уже

var text = "'Oh, you can't help that,' said the Cat: 'we're all mad here. I'm mad. You're mad.'";
var punctuation = text.Where(Char.IsPunctuation).Distinct().ToArray();
var words = text.Split().Select(x => x.Trim(punctuation));

Regex regex = new Regex(@"([aeiou])\1");
var count = 0;

foreach (var w in words)
{
if (regex.IsMatch(w))
{
count++;
}
};

if (count>0)
{
var x = words.Count();
var r = (count * 100) / x;
Console.WriteLine($"% Совпадений {r}");
}
else
{
Console.WriteLine("Нет совсем совпадений");
}