Вывести только те слова, которые встречаются более n раз - C# (194447)
Формулировка задачи:
Здравствуйте. вот код задания
Программа рабочая , но консоль выводит слово (если оно больше равно заданного) столько раз , сколько оно встречается в тексте , мне бы сделать так, чтобы после ввода числа повторений, выводилось только один раз в ходе условий слово. Помогите пожалуйста , не могу понять как это сделать.
Console.Write("Введите строку: ");
string str = Console.ReadLine();
string[] split = str.Split(new Char[] { ' ' });
foreach (string s in split) ;
int x;
int count = 0;
Console.Write("\nВведите число повторений(>): ");
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < split.Length; i++)
{
x = 0;
for (int j = 0; j < split.Length; j++)
{
if (split[i] == split[j])
{
x++;
}
}
if (x >= n)
{
count++;
Console.WriteLine(split[j]);
}
}
Console.ReadLine();Решение задачи: «Вывести только те слова, которые встречаются более n раз»
textual
Листинг программы
static void Main(string[] args)
{
int count=0;
List<string> list = new List<string>();
string temp = "";
Console.WriteLine("Введите текст:");
string[] writes = Console.ReadLine().Split(' ');
Console.Write("\nВведите число повторений: ");
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < writes.Length; i++)
{
count = 0;
if (temp != writes[i])
{
foreach (string word in writes)
{
if (writes[i]==word) count++;
if (count > n)
{
list.Add(writes[i]);
temp = writes[i];
break;
}
}
}
}
foreach (string l in list) Console.Write(l + "\t");
Console.ReadKey();
}