Определить, сколько в файле f имеется слов, состоящих из одного, двух, трех и т.п. символов - C#
Формулировка задачи:
Дан текстовый файл f. Определить, сколько в файле f имеется слов, состоящих из одного, двух, трех и т.п. символов (до самого наибольшего по длине слова).
Решение задачи: «Определить, сколько в файле f имеется слов, состоящих из одного, двух, трех и т.п. символов»
textual
Листинг программы
static string[] GetWords(string s)
{
var split = Regex.Split(s, @"\b");
return split.Where(z => !string.IsNullOrWhiteSpace(z)).ToArray();
}
static void Main(string[] args)
{
var text = File.ReadAllText("file.txt");
var words = GetWords(text);
var lengths = words.Select(s => s.Length).
Distinct().OrderBy(k => k).ToArray();
var counts = new List<int>();
foreach (var l in lengths)
counts.Add(words.Count(s => s.Length == l));
var format = @"Слово длиной {0} символов встречается {1} раз.";
var lines = new List<string>();
for (int i = 0; i < lengths.Length; i++)
lines.Add(string.Format(format, lengths[i], counts[i]));
text = string.Join("\n", lines);
Console.WriteLine(text);
}