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

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

Войти
Регистрация
Восстановить пароль
 
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 121
#1

программа с рекурсией - C++

12.02.2014, 22:35. Просмотров 324. Ответов 4
Метки нет (Все метки)

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
#include <iostream.h>
#include <math.h>
 
double rekyrsia(int ,int ,int );
 
int x=2;
int main()
{
    int a[60],n,i=0;
    cout<<" vvedite n= "<<endl;
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    i=-1;
    cout<<" sum rekyrsia= "<<rekyrsia(n,*a,i)<<endl;
    return 0;
}
 
double rekyrsia(int n,int *a,int i)
{
    i++;
    double t=0;
    t=a[i]+x*rekyrsia(n,*a,i);
    if(i>n)
    {
        return t;
    }
}
я ещё не очень освоил функции
вот задача: вычислить значение полинома степени n по формуле
http://www.cyberforum.ru/cgi-bin/latex.cgi?{P}_{n}=\sum_{i=0}^{n}*{a}_{i}*{x}^{i}= {a}_{0}+x({a}_{1}+...x({a}_{n-1}+x*{a}_{n})...)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 22:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа с рекурсией (C++):

Программа с рекурсией - C++
Может не совсем по адресу. Но есть у меня одна проблема. Никак не могу сделать эту лабу. Может кто помочь? В общем нужно следующее....

Программа обхода конем шахматной доски -рекурсией с++ - C++
Пока писала ,наделала кучу ошибок. Компилятор сильно ругается. Понятия не имею,что ему не нравится. Везде пишет,что не объявлены...

с++ с рекурсией - C++
помогите плиз разобраться с рекурсией.завал по лабораторным В данной последовательности чисел найти подпоследовательность подряд...

Помогите с рекурсией - C++
Надо написать рекурс.функцию, возвращающую введенное пользователем число в обратном порядке

Задача с рекурсией - C++
Здравствуйте, не могу до конца осмыслить, как сделать это (см. ниже) через рекурсию:

Бинарное с рекурсией - C++
Вот две задачи, помогите пожалуйста. Неделю уже долблю

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 22:38 #2
проверка должна быть перед рекурсивным вызовом. иначе получится бесконечная рекурсия. я про
C++
1
2
3
4
 if(i>n)
    {
        return t;
    }
вторая ошибка: а что если условие не выполняется? что возвращаем? ведь функция должна что-то вернуть.

третья ошибка: сигнатуры не совпадают:
объявлено: double rekyrsia(int ,int ,int )
определено: double rekyrsia(int n,int *a,int i) ...
0
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 121
12.02.2014, 22:47  [ТС] #3
Цитата Сообщение от DU Посмотреть сообщение
третья ошибка: сигнатуры не совпадают:
объявлено: double rekyrsia(int ,int ,int )
определено: double rekyrsia(int n,int *a,int i) ...
не понимаю это
0
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
12.02.2014, 22:54 #4
сигнатура функции: имя и набор ее аргументов.
в первом случае второй аргумент - int, а во втором - указатель на int (int*).
с точки зрения копилятора это разные функции. в вашем случае типы аргументов
должны совпадать.
0
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 121
12.02.2014, 23:09  [ТС] #5
Цитата Сообщение от DU Посмотреть сообщение
сигнатура функции: имя и набор ее аргументов.
почему ответ 0
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
#include <iostream.h>
#include <math.h>
 
double rekyrsia(int ,int* ,int );
 
int x=2;
int main()
{
    int a[60],n,i=0;
    cout<<" vvedite n= "<<endl;
    cin>>n;
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    i=-1;
    cout<<" sum rekyrsia= "<<rekyrsia(n,a,i)<<endl;
    return 0;
}
 
double rekyrsia(int n,int *a,int i)
{
    double t=0;
    if(i>n)
    {
        return t;
    }
    i++;
    t=a[i]+x*rekyrsia(n,a,i);
    return 0;
}
Добавлено через 53 секунды
а всё, понял
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2014, 23:09
Привет! Вот еще темы с ответами:

Задача с рекурсией! - C++
Вычислите значение функции для некоторого n (n – количество рекурсивных вызовов) Работа в Turbo C обязательна

Помогите с рекурсией - C++
Добрый день уважаемые! Помогите пожалуйста с этой задачкой. А точнее выполнить ее с помощью рекурсии ...

выручите с рекурсией - C++
Как зделать рекурсию? #include&lt;stdio.h&gt;

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.02.2014, 23:09
Ответ Создать тему
Опции темы

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