Найти самое длинное слово и определить, сколько раз оно встретилось в тексте - C#
Формулировка задачи:
Написать программу, которая считывает текст из файла, находит самое длинное
слово и определяет, сколько раз оно встретилось в тексте.
Буду признательна
Решение задачи: «Найти самое длинное слово и определить, сколько раз оно встретилось в тексте»
textual
Листинг программы
static void Main(string[] args) { Console.Write("Введите путь к файлу: "); string path = Console.ReadLine(); //читаем путь к файлу с текстом Stack<string> stack = new Stack<string>(); //стек, здесь буду лежать самые длинные слова string line = File.ReadAllText(path, Encoding.Default); //читаем весь текст с файла string[] words = line.Split(new string[] {" ", "\r\n", "\t"}, StringSplitOptions.RemoveEmptyEntries); //разбиваем строку на массив слов int maxlength = 0; //здесь будет храниться длина самого длинного слова for (int i = 0; i < words.Length; i++) //цикл, пробегает по массиву слов... if (maxlength < words[i].Length) maxlength = words[i].Length; //если длина текущего слова больше запомненной - запоминаем новую длину for (int i = 0; i < words.Length; i++) //цикл, выбирает из массива слов, слова максимальной длины { if (words[i].Length == maxlength && !stack.Contains(words[i])) stack.Push(words[i]); //если длина слова соответствует максимальной, и этого слова нет в стеке - убираем слово в стек } string[] maxwords = stack.ToArray(); //переводим стек в массив слов максимальной длины int count; //здесь хранится число вхождений слова в строку for (int i = 0; i < maxwords.Length; i++) //пробегаемся по массиву слов максимальной длины { count = 0; //обнуляем счетчик для каждого нового слова foreach (string x in words) //перебираем исходный массив слов { if (x == maxwords[i]) ++count; //если выбранное слово, собвпадает с максимальным - наращиваем счетчик } Console.WriteLine("{2}. Самое длинное слово: {0}\n Число вхождений: {1}", maxwords[i], count, i); //выводим результаты } Console.ReadKey(true); //нажмите любую клавишу для продолжения }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д