Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
#1

Просуммировать члены последовательности с использованием рекурсивного вызова - C++

22.03.2014, 08:45. Просмотров 239. Ответов 3
Метки нет (Все метки)

Здравствуйте! Мною была составлена программа, содержащая подпрограмму с рекурсивным вызовом, и находящая решение уравнения 1*2+2*3*4+3*4*5*6+n*(n-1)*...*2n. Выглядит она следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <math.h>
#include <conio.h>
int func (int n)
{int i;  int F; int k; int j;
for (i=1;i<=n;++i)
{
    k=1;
    for (j=i;j<=2*i;++j) k*=j;
    F+=k;
}
}
int main()
{int n; int F;
printf ("Vvedite n=");
scanf("%d", &n);
F=func(n);
printf("znacnenie F=%d", F);
getch();
}
Вся проблема в том, что на выходе получается F=0, хотя F должна иметь совсем другое значение (в зависимости от переменной n). Не могу найти ошибку.
Надеюсь на вашу помощь
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 08:45     Просуммировать члены последовательности с использованием рекурсивного вызова
Посмотрите здесь:

Найти члены последовательности C++
C++ В последовательности X1, . . ., Xn все члены, меньшие двух, заменить нулями
C++ Требуется умножить все члены последовательности
C++ Заменить некоторые члены последовательности используя цикл for
Каким образом в переменную записывается результат каждого рекурсивного вызова? C++
C++ Даны две последовательности. Верно ли, что все члены второй последовательности входят в первую?
Удалить из последовательности все члены с максимальным значением C++
Найти члены последовательности C++
Перемножить положительные члены последовательности C++
Записать в файл члены последовательности C++
C++ Найти члены последовательности, которые являются нечетными
Найти все члены последовательности C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6244 / 5847 / 1891
Регистрация: 18.12.2011
Сообщений: 14,980
Завершенные тесты: 1
22.03.2014, 10:14     Просуммировать члены последовательности с использованием рекурсивного вызова #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int func (int n)
{
    int i, F, k, j;
    F=0;
    for (i=1;i<=n;++i)
    {
       k=1;
       for (j=i;j<=2*i;++j)
                 k*=j;
        F+=k;
   }
   return F;
}
p.s. Такие выражения называются не уравнениями, а последовательностями.
И Вы суммируете члены последовательности:
a1+a2+...+an
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
22.03.2014, 10:25     Просуммировать члены последовательности с использованием рекурсивного вызова #3
Цитата Сообщение от zaqwerty Посмотреть сообщение
int func (int n)
Возвращать то нужно что то, вот сюда:
Цитата Сообщение от zaqwerty Посмотреть сообщение
F=func(n);
zaqwerty
1 / 1 / 1
Регистрация: 14.12.2013
Сообщений: 113
22.03.2014, 10:32  [ТС]     Просуммировать члены последовательности с использованием рекурсивного вызова #4
zss, спасибо большое, программа заработала
Цитата Сообщение от zss Посмотреть сообщение
Такие выражения называются не уравнениями, а последовательностями
В дальнейшем учту)
Yandex
Объявления
22.03.2014, 10:32     Просуммировать члены последовательности с использованием рекурсивного вызова
Ответ Создать тему
Опции темы

Текущее время: 23:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru