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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напишите маленькую прогу? http://www.cyberforum.ru/cpp-beginners/thread592037.html
Напишите маленькую прогу, чтобы в ней использовалась передача массива в функцию...очень нужно!
C++ дан массив, состоящий из n целых чисел (n<=10) дан массив, состоящий из n целых чисел (n<=10). Необходимо: упорядочить массив по убыванию элементов методом последовательного нахождения минимума. http://www.cyberforum.ru/cpp-beginners/thread592034.html
Цепные дроби C++
Помогите пожалуйста,не могу найти ошибку,косяк с выводом. Необходимо Реализовать программу для разложения конечной цепной дроби. #include "stdafx.h" #include <locale.h> #include <math.h> #include <conio.h> #include <iostream> using namespace std;
Игра по сети C++
Доброго времени суток. У меня такой вопрос, мне нужно написать программку, её я написал, но проблемма вот в чём, одно из требований это возможность игры по сети. Протокол само собой буду использовать TCP IP. Вопрос вот в чём, т.к. я не горю особым желанием отдельно писать серверную часть, и для сдачи неважно как будет происходить коннект, то перед началом игры спрашивается IP противника, и я хочу...
C++ Класс Калькулятор, написать комментарии http://www.cyberforum.ru/cpp-beginners/thread592024.html
Доброго всем времени суток! Уважаемые жители форума, у меня к вам есть вот какая просьба! Я учусь на 3 курсе электротехнического факульета ПНИПУ. Сдаю предмет ПЯВУ, если я его не сдам до 1 июля - меня отчислят! У меня есть программа, в котрой реализован класс калькулятор, решающий систему уровнения методом Гаусса. Естественно, решала не сама (увы, не мой это язык С++). Молодой человек,...
C++ Найдите ошибку вот работающий код программы(деление многочленов) #include <stdio.h> #include <math.h> void PrintPolynom(float *p, int n) { for(int i=0;i<n;i++) printf("%+f x^%d",*(p+i),n-i-1); printf("\n"); } main() подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
31.05.2012, 12:31
Рекурсивная функция - это функция, которая, при выполнении, вызывает саму себя, и ее выполнение начанается заново, при этом, при каждом вызове, переменные, с которыми работает функция, принимают новые значения, т.е все вычисления выполняются повторно для новых значений переменных.
Пример использования вызова рекурсивной функции для перебора элементов массива и нахождения их суммы:
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/c1e0ae...bc97bd5f3ad4cc
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru