Вывести только те слова, которые встречаются более 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д