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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
#1

рекурсия и массивы: числа Фибоначчи - C++

12.12.2012, 04:38. Просмотров 1409. Ответов 5
Метки нет (Все метки)

привет всем ! как с помощью рекурсии с параметрами массива реализовать числа Фибоначчи ?
вот что то на клепал
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
35
36
37
38
39
40
41
42
43
44
45
46
#include "stdafx.h"
#include <iostream>
#include <locale.h>
 
using namespace std;
 
#define g_max 15
 
void gen(int, int*);
void out(int, int*);
int fibonacci(int, int*);
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "");
    int array[g_max]; int value; int v(0);
    do
    {
        cout<<"Введите максимальный элемент массива: ";
        cin>>value;
    } while(value > g_max);
    gen(value, array);
    cout<<fibonacci(value, array);
    cout<<endl;
    system("pause");
    return 0;
}
 
void gen(int k, int* p)
{
    cout<<"Заполните элементы массива:"<<endl;
    for(int i = 0; i < k; i++)
    {
        cout<<"array["<<i<<"] = ";
        scanf("%d", p++);
    }
}
 
int fibonacci(int* p) //написал опираясь на примере рекурсии с обычными параметрами
{
    
    if(*p == 0) return 0;
    if(*p == 1) return 1;
    return fibonacci(p - 1) + fibonacci(p - 2) ;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 04:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос рекурсия и массивы: числа Фибоначчи (C++):

Числа Фибоначчи и рекурсия - C++
Всем привет. Кто может мне доступно объяснить нахождение числа? Да и вообще, что мы ищем? Есть ряд: 0, 1, 1, 2, 3, 5, 8, 13, 21......

Рекурсия в нахождении числа ряда Фибоначчи. - C++
Лаба: написать программу, находящуую заданный элемент ряда Фибоначчи. Написал: #include &lt;stdio.h&gt; void main() { int M, i, n; ...

Рекурсия: определить номер и значение числа Фибоначчи, не превышающего заданную величину - C++
Здравствуйте,можете пожалуйста написать код? Вот задание: Определить порядковый номер и значение члена ряда Фибоначчи, не...

Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду Фибоначчи - C++
Помогите с задачкой Набрать с чисел Фибоначчи в интервале от 1 до 100, только просто числа, а также их порядковые номера в ряду...

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

Рекурсия: вычисление чисел Фибоначчи - C++
Числа Фибоначчи Fn вычисляются по формуле F0=F1=1; Fn=Fn-1+Fn-2, при n=2,3,... Нужно реализовать функцию, которая по заданому номеру n...

5
Oleshko
21 / 21 / 1
Регистрация: 11.12.2012
Сообщений: 64
12.12.2012, 13:22 #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
27
28
29
30
31
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int fibon(int i);
 
int main()
{
    int f, i;
 
    cout << "Enter a number and press ENTER: " << endl;
    cin >> i;
 
    if ( i < 0 ) cout << "Negative number!\n";
    else
    {
        f = fibon(i - 1);
        cout << "Fibonnachi is " << f << endl;
    }
    system ( "pause" );
    return 0;
}
 
int fibon(int i)
{
 if ( i == 0 ) return 1;
 if ( i == 1 ) return 1;
 if ( i < 0 ) return 0;
 return fibon ( i - 2 ) + fibon ( i - 1 );
}
p.s. не забудь сказать спасибо

Добавлено через 6 минут
только в самой функции уже не надо писать if ( i < 0 ) return 0; (что то провтык мой)

Добавлено через 2 минуты
вот только не пойму зачем тебе там масив... (
1
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
12.12.2012, 16:07  [ТС] #3
Oleshko, мне как раз нужно все это сделать через массив ...т.е заполнить элементы массива и выполнить вычисление массива числами Фибоначчи...
0
Oleshko
21 / 21 / 1
Регистрация: 11.12.2012
Сообщений: 64
12.12.2012, 21:30 #4
и в чем проблема?
задал n (количество елементов) и
for (i = 0; i < i++)
a[i] = fibon(i);
вот и все
1
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
13.12.2012, 00:12  [ТС] #5
Oleshko, спасибо за помощь !! хотел нажать спасибо , да почему только на этой странице не отображается кнопка( не знаю...может с браузером какие то косяки...
0
Oleshko
21 / 21 / 1
Регистрация: 11.12.2012
Сообщений: 64
13.12.2012, 00:13 #6
я бы не отказался (мне как раз и нужна репутация)
1
13.12.2012, 00:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2012, 00:13
Привет! Вот еще темы с ответами:

Функции. Рекурсия на примере Фибоначчи - C++
Можете начинающему объяснить решен задачи про числа фиибоначи с помощью рекурсии. Вот код // Fibonacci series using recursion ...

Рекурсия: нахождение чисел Фибоначчи (нужны комментарии) - C++
это функция нахождения чисел фибоначи. немогу понять как она работает можите написат как это происходит в программе. отладка много не...

Число Фибоначчи и рекурсия: код выдает неверные результаты - C++
Функция возвращает значение типа int, принимает 2 переменных типа int и 1 типа bool. Первая переменная - номер числа из ряда Фибоначчи...

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


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

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

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