Пример #1
0
        /// <summary>
        /// Returns all the longest words from the input string.
        /// </summary>
        /// <param name="text">Input string.</param>
        /// <returns>All the longest words from the input string.</returns>
        public static List <string> AllTheLongestWords(string text)
        {
            char[] separators = new char[] { ' ' };

            string[] subs = StringMagic.RemoveExtraSymbols(text)
                            .Split(separators, StringSplitOptions.RemoveEmptyEntries);

            var allTheLongest = new List <string>();

            int tempMaxLength = default;

            //string longest = subs.OrderByDescending(s => s.Length).First();
            foreach (var sub in subs)
            {
                if (sub.Length >= tempMaxLength)
                {
                    tempMaxLength = sub.Length;
                }
            }

            foreach (var t in subs)
            {
                if ((t.Length == tempMaxLength))
                {
                    allTheLongest.Add(t);
                }
            }

            return(allTheLongest);
        }
Пример #2
0
        /// <summary>
        /// Subroutine to demonstrate Task3
        /// Задание 3. Создание метода, принимающего строку и возвращающего новую строку, в которой удалены все рядом стоящие повторяющиеся символы.
        /// </summary>
        internal static void Task3()
        {
            Console.WriteLine("\n3. Создание метода, принимающего строку и возвращающего новую строку, в которой удалены все рядом стоящие повторяющиеся символы.");
            Console.WriteLine("\nPlease write a string of text.");
            Console.WriteLine($"\nEye friendly string is: {StringMagic.RemoveSymbolsThatRepeat(Console.ReadLine())}");

            Console.WriteLine("\nPress any key to continue.");
            Console.ReadKey();
        }
Пример #3
0
        /// <summary>
        /// Subroutine to demonstrate Task2_2
        /// Создать метод, принимающий  текст и возвращающий слово(слова) с максимальным количеством букв
        /// Примечание: слова в тексте могут быть разделены символами (пробелом, точкой, запятой)
        /// </summary>
        internal static void Task2_2()
        {
            Console.WriteLine("\n2.2. Создать метод, принимающий  текст и возвращающий слово(слова) с максимальным количеством букв.");
            Console.WriteLine("\nPlease write a string of text.");

            Console.WriteLine($"\nAll the longest words are: {string.Join(", ", StringMagic.AllTheLongestWords(Console.ReadLine()))}");

            Console.WriteLine("\nPress any key to continue.");
            Console.ReadKey();
        }
Пример #4
0
        /// <summary>
        /// Subroutine to demonstrate Task2_1
        /// Создать метод, принимающий  текст и возвращающий слово, содержащее минимальное количество букв
        /// </summary>
        internal static void Task2_1()
        {
            Console.WriteLine("\n2.1. Создать метод, принимающий  текст и возвращающий слово, содержащее минимальное количество букв.");
            Console.WriteLine("\nPlease write a string of text.");

            Console.WriteLine($"\nOne of the shortest words is: {StringMagic.OneOfTheShortestWords(Console.ReadLine())}");

            Console.WriteLine("\nPress any key to continue.");
            Console.ReadKey();
        }
Пример #5
0
        /// <summary>
        /// Returns one of the shortest words from the input string.
        /// </summary>
        /// <param name="text">Input string.</param>
        /// <returns>One of the shortest words from the input strings.</returns>
        public static string OneOfTheShortestWords(string text)
        {
            char[] separators = new char[] { ' ' };

            string[] subs = StringMagic.RemoveExtraSymbols(text)
                            .Split(separators, StringSplitOptions.RemoveEmptyEntries);

            int    tempMinLength    = int.MaxValue;
            string oneOfTheShortest = "";

            foreach (var sub in subs)
            {
                if (sub.Length <= tempMinLength)
                {
                    tempMinLength    = sub.Length;
                    oneOfTheShortest = sub;
                }
            }

            return(oneOfTheShortest);
        }