Example #1
0
        static void Main(string[] args)
        {
            string inputString;

            Console.Write("Input string: ");
            inputString = Console.ReadLine();
            Console.WriteLine($"1. Maximal mumber of nonidentical consecutive characters: {GetMaxNumberOfNonidenticalConsecutiveCharacters(inputString)}");
            SymbolDetermination isNumber = IsNumber;

            Console.WriteLine($"2. Maximal mumber of identical consecutive numbers: {GetMaxNumberOfIdenticalConsecutiveSymbols(inputString, isNumber)}");
            SymbolDetermination isLatin = IsLatin;

            Console.WriteLine($"3. Maximal mumber of unidentical consecutive latin characters: {GetMaxNumberOfIdenticalConsecutiveSymbols(inputString, isLatin)}");
        }
Example #2
0
        public static int GetMaxNumberOfIdenticalConsecutiveSymbols(string inputString, SymbolDetermination symbolDeterminant)//method for getting maximal mumber of identical consecutive numbers and latin symbols
        {
            int maxNumber = 0;
            int helper    = 0;
            int signal1   = 0;
            int signal2   = 0;

            for (int i = 0; i < inputString.Length - 1; i++)
            {
                signal2++;//loop entry signal (string contains more then one symbol)

                if (symbolDeterminant(inputString[i + 1]) || symbolDeterminant(inputString[i]))
                {
                    signal1++;//if entry signal (string contains one or more appropriates elements)

                    if (inputString[i] == inputString[i + 1])
                    {
                        helper++;
                    }
                    else if (helper > maxNumber)
                    {
                        maxNumber = helper;
                        helper    = 0;
                    }
                    else
                    {
                        helper = 0;
                    }
                }
            }

            if (helper > maxNumber)//last checkout of maximal value
            {
                maxNumber = helper;
            }

            if (maxNumber != 0 || signal1 != 0)//condition of existing in string one or more appropriates elements
            {
                maxNumber++;
            }

            if (signal2 == 0 && symbolDeterminant(inputString[0]))//condition of string containing one appropriate element
            {
                maxNumber++;
            }

            return(maxNumber);
        }