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

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

Войти
Регистрация
Восстановить пароль
 
ARTLINE-NN
1 / 1 / 0
Регистрация: 30.03.2012
Сообщений: 82
#1

Рекурсивная функция - C++

31.05.2012, 00:55. Просмотров 785. Ответов 4
Метки нет (Все метки)

Расскажите пожалуйста про рекурсивную функцию, как она задаётся и всё что с ней связанно. (можно с примерами) от меня +Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 00:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция (C++):

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

Рекурсивная функция - C++
ПРивет всем! ребят помогите решать вот такую задачку: Используя команды write(x) лишь при х=0,1,…9 написать рекурсивную процедуру вывода...

Рекурсивная функция - C++
Нужно перемножить n последних элементов матрицы,используя метод рекурсии. Матрицу я нашел как сделал,вот #include <iostream> ...

Рекурсивная функция - C++
Задание: Составить программу для счисления сумы К членов строки, где К определяется ||Uk| -|Um||< е и е - наперед задана точность...

Рекурсивная функция - C++
Написать рекурсивную фукцию вычисления

Рекурсивная функция С++ - C++
Написать рекурсивную функцию (+ саму программу), которая подсчитывает сумму элементов одномерного массива.

4
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
31.05.2012, 12:31 #2
Рекурсивная функция - это функция, которая, при выполнении, вызывает саму себя, и ее выполнение начанается заново, при этом, при каждом вызове, переменные, с которыми работает функция, принимают новые значения, т.е все вычисления выполняются повторно для новых значений переменных.
Пример использования вызова рекурсивной функции для перебора элементов массива и нахождения их суммы:
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
#include <stdio.h>
#include <conio.h>
 
#define N 5
 
int sum = 0;
 
int getsum(int* X, int i, int n);
 
int main()
{
    int X[N] = { 3, 5, 7, 2, 9 };
    printf("sum = %d\n",getsum(X,0,N));
 
    _getch();
 
    return 0;
}
 
int getsum(int* X, int i, int n)
{
    if (i >= n) return sum;
    printf("%d ",X[i]);
    sum+=X[i];
    getsum(X, ++i, n); // Функция вызывает саму себя с новым значением i+1
}
http://liveworkspace.org/code/c1e0ae60561320992fbc97bd5f3ad4cc
1
Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 186
Записей в блоге: 1
31.05.2012, 13:25 #3
Всем доброе время суток.В книгах сказано, что мы можем заменить рекурсию итеративно.
Но также там сказано, что иногда рекурсию выглядит более красиво чем итерации.
Может кто то привести примерчик в каких случаях это действительно так.
1
Catstail
Модератор
22831 / 11197 / 1812
Регистрация: 12.02.2012
Сообщений: 18,438
31.05.2012, 14:42 #5
Рекурсия выглядит явно красивее итерации, например, при поиске элемента в двоичном дереве.
Как это сделать без рекурсии - еще придется голову поломать.
2
31.05.2012, 14:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2012, 14:42
Привет! Вот еще темы с ответами:

Рекурсивная функция - C++
Принять с клавиатуры натуральное число N. Написать рекурсивную функцию, которая будет выводить слово YES, если число N является точной...

рекурсивная функция - C++
Требуется разработать рекурсивную функцию, возвращающую значение для вычисления n-го члена последовательности b1=5, bn+1=bn/n2+n+1 ...

Рекурсивная функция - C++
Есть произведение n сомножителей вида (2*2)/(1*3) * (4*4)/(3*5) * ... Если не сложно, где я сделал ошибку в его подсчёте? double...

Рекурсивная функция - C++
Задача


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

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

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