コード例 #1
0
        /// <summary>
        /// Реализация рекурсионного метода подсчета суммы и вывода значений в диапазоне введенном пользователем.
        /// </summary>
        /// <param name="valueStart">Начальное значение диапазона</param>
        /// <param name="valueEnd">Конечное значение диапазона</param>
        /// <param name="summ">Сумма чисел диапазона</param>
        /// <returns></returns>
        private static int RecursionAToB(int valueStart, int valueEnd, ref int summ)
        {
            if (valueStart == valueEnd)
            {
                summ += valueEnd;
                Console.WriteLine(valueEnd);
            }
            else
            {
                Console.WriteLine(valueStart);
                Task7.RecursionAToB(valueStart + 1, valueEnd, ref summ);
                summ += valueStart;
            }

            return(summ);
        }
コード例 #2
0
        /// <summary>
        /// Метод, предоставляющий интерфейс для ввода данных стартового и конечного числа.
        /// </summary>
        public static void ValuesFromAToB()
        {
            Console.Write("Добрый день, уважаемый пользователь. Для осуществления работы с рекурсией, пожалуйста, введите 2 числа: ");
            string[] inputValues = Console.ReadLine().Split(',', ' ').Where(x => x != "").ToArray();
            int      valueStart  = int.Parse(inputValues[0]);
            int      valueEnd    = int.Parse(inputValues[1]);
            int      summ        = 0;

            if (valueStart < valueEnd)
            {
                Task7.RecursionAToB(valueStart, valueEnd, ref summ);
                Console.WriteLine("Сумма всех значений: {0}", summ);
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("Введены некорректные значения. Стартовое значение должно быть меньше конечного!");
                Console.ReadKey();
            }
        }