PDA

View Full Version : مبتدی: تابع فیوناچی با استفاده از از آرایه



katalani
دوشنبه 14 اسفند 1391, 10:23 صبح
به چه صورت میشه کد تابع فیوناچی به صورتی که از آرایه استفاده کنیم؟؟

armintirand
دوشنبه 14 اسفند 1391, 12:01 عصر
آرایه معمولی چون باید اندازه ثابت داشته باشد نمیتونی به برنامه عدد n رو بدی و بگی که جمله n رو محاسبه کنه ولی میتونی توی کدت n رو به صورت یک عدد ثابت به برنامه بدی و موقع اجرا نتیجه رو بده ولی اگه از لیست پیوندی استفاده کنی میتونی آرایه ای با اندازه متغییر بسازی که این مشکل رو نداشته باشی و در حین اجرای برنامه عدد n رو بهش بدی و نتیجه رو برات محاسبه کنه.
در ضمن برای نوشتن فیبوناچی نیازی به آرایه نیست براحتی بدون آرایه میتونی بنویسی.

stubborn2
دوشنبه 14 اسفند 1391, 12:36 عصر
در راستای صحبت آقای armintirnad, براب تعریف آرایه نا محدودباید از لیست پیوندی استفاده کنی که خودمم درگیرشم. با این حال یک کد ساده برات می ذارم،

#include <iostream.h>
#include <conio.h>
int fibo(int m);
int m;
const int n = 20;
void main()
{
cout << "Number of sentences:";
cin >> m;
cout << "\n" << fibo(m);
}
int fibo (int m)
{
int fib[n];
for (int i=0; i<n; i++)
{
if (i == 0)
fib[i] = 0;
if (i == 1)
fib[i] = 1;
if (i > 1)
fib[i] = fib[i-1] + fib[i-2];
}

return fib[m-1];

}

Salar Ashgi
سه شنبه 15 اسفند 1391, 21:28 عصر
استفاده از آرایه داینامیک :


#include <iostream>
#include <conio>
long fibo(int n)
{
long * a = new long[n];
a[0]=a[1]=1;
for(int i=2;i<n;i++)
a[i]=a[i-1]+a[i-2];
return a[n-1];
}
//-----------
int main()
{
cout<<"Enter n :\n";
int n;
cin>>n;
cout<<"fibo("<<n<<"): "<<fibo(n)<<endl;
getch();
}

katalani
چهارشنبه 16 اسفند 1391, 20:50 عصر
az hamaton mammnoon