Вывести только те слова, которые встречаются более 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();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы