Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
1

Рекурсивный метод для нахождения n-го члена и суммы n первых членов геометрической прогрессии

03.05.2017, 12:48. Показов 3033. Ответов 4
Метки нет (Все метки)

Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивный метод для нахождения n-го члена и суммы n первых членов прогрессии. Вот наработки.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
namespace ConsoleApplication2
{
    class Program
    {
        static void B(double b0, double q, int n, out double bn, int i = 0)
        {
 
            if (n > i)
            {
                bn = b0 * q;
                B(bn, q, n, out bn, i++);
            }
        }
 
        static void Main(string[] args)
        {
 
            Console.Write("b0 = ");
            double b0 = double.Parse(Console.ReadLine());
            Console.Write("q = ");
            double q = double.Parse(Console.ReadLine());
            Console.Write("n = ");
            int n = int.Parse(Console.ReadLine());
            double bn = 0;
            B(b0, q, n, out bn);
 
            Console.WriteLine("b{0} = {1}", n, bn);
 
            Console.ReadLine();
 
        }
 
    }
}
Помогите пожалуйста, компилятор ругается с ошибкой "До передачи управления из текущего метода параметру, помеченному ключевым словом out, "bn" должно быть присвоено значение." никак не могу понять, выделяет красным static void B
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2017, 12:48
Ответы с готовыми решениями:

Рекурсивный метод для нахождения n-го члена и суммы n первых членов прогрессии
Помогите мне пожалуйста!!!!! Разработка рекурсивных методов ( не возвращающих значений): даны...

Написать рекурсивный метод для нахождения n-го члена и суммы n первых членов прогрессии
Даны первый член и разность арифметической прогрессии. Написать рекурсивный метод для нахождения...

Написать рекурсивный метод для нахождения n-го члена и суммы n первых членов прогрессии
11. Даны первый член и разность арифметической прогрессии. Написать рекурсивный метод для...

Рекурсивный метод для нахождение n-ого члена и суммы n первых членов арифметической прогрессии
Даны первый член и разность арифметической прогрессии. Написать рекурсивный метод (не возвращающий...

4
33 / 33 / 24
Регистрация: 02.05.2014
Сообщений: 159
03.05.2017, 12:57 2
Вам в bn надо записать что-то в ветке else. Например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static void B(double b0, double q, int n, out double bn, int i = 0)
    {
 
      if (n > i)
      {
        bn = b0*q;
        B(bn, q, n, out bn, i++);
      }
      else
      {
        bn = 0;
      }
    }
1
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
03.05.2017, 13:12  [ТС] 3
спасибо, скомпилировался код, но после ввода значений, выдает - Необработанное исключение типа "System.StackOverflowException",
0
33 / 33 / 24
Регистрация: 02.05.2014
Сообщений: 159
03.05.2017, 13:24 4
C#
1
2
3
4
5
if (n > i)
      {
        bn = b0*q;
        B(bn, q, n, out bn, i++);
      }
Видимо всегда срабатывает это условие
0
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 3
03.05.2017, 15:50  [ТС] 5
подскажите, пожалуйста, не могу разобраться почему условие срабатывает всегда, кроме когда значения с клавиатуры равны 0
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2017, 15:50

Даны первый член и разность арифметической прогрессии. Написать рекурсивный метод для нахождения n-го члена и суммы n
Ошибка: До передачи управления из текущего метода выходному параметру "bn" должно быть присвоено...

Рекурсивный метод для вычисления n-го члена последовательности
Разработать рекурсивный метод (возвращающий значение): для вычисления n-го члена следующей...

Разработать рекурсивный метод для вычисления n-го члена последовательности
помогите pазработать рекурсивный метод для вычисления n-го члена следующей последовательности ...

Разработать рекурсивный метод (возвращающий значение) для вычисления n - го члена последовательности
Разработать рекурсивный метод (возвращающий значение): для вычисления n - го члена следующей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru