Другие языки программирования и технологии
помогите со строками в C#
Напишите пожалуйста участок кода в C#: Дан текст. Слова в тексте отделены одним пробелом. В конце текста точка. Определить, какой процент слов в тексте содержит удвоенную согласную.
Лень запускать VB студию и писать всё это. Попробую псевдо-код накидать на русском, а ты думай.
1) Начинаем чтение текста по символам Char.
2) Каждый символ заносим в переменную Chat A, а каждый следующий символ в переменную Char B.
3) Каждый тик цикла чтения сравниваем А с B. Если они равны, проверяем, являются ли они согласными. Если "да" - то увеличиваем счетчик слов с удвоенной согласной. Согласный вручную, заранее заносим в виде массива к примеру в нижний регистр и перед проверкой сам текст тоже приводим к нижнему регистру. Кажись это string.Lower()
4) Если встречается пробел - прибавляем +1 к счетчику слов. Он же должен как-то перезапускать цикл побуквенной проверки слов. Т. е. перезапускать его с новым - следующим словом.
1) Начинаем чтение текста по символам Char.
2) Каждый символ заносим в переменную Chat A, а каждый следующий символ в переменную Char B.
3) Каждый тик цикла чтения сравниваем А с B. Если они равны, проверяем, являются ли они согласными. Если "да" - то увеличиваем счетчик слов с удвоенной согласной. Согласный вручную, заранее заносим в виде массива к примеру в нижний регистр и перед проверкой сам текст тоже приводим к нижнему регистру. Кажись это string.Lower()
4) Если встречается пробел - прибавляем +1 к счетчику слов. Он же должен как-то перезапускать цикл побуквенной проверки слов. Т. е. перезапускать его с новым - следующим словом.
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();
}
{
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("Нет совсем совпадений");
}
надо подключить
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("Нет совсем совпадений");
}
Похожие вопросы
- Указатели на строки в C++
- Строки в c++.
- Помогите написать задачу по C++ Дана строка. найти в ней самое длинное слово-палиндром.
- Помогите с домашним задание C#
- Вывести на экран два максимальных элемента всех нечетных строк массива c#
- Как задать двумерный массив строк в C? Как его потом заполнять?
- Пожалуйста! Помогите выбрать: java или c
- Помогите решить задачи на C#
- Помогите написать программу по C++
- Помогите с заданием на C++