به چه صورت میشه کد تابع فیوناچی به صورتی که از آرایه استفاده کنیم؟؟
به چه صورت میشه کد تابع فیوناچی به صورتی که از آرایه استفاده کنیم؟؟
آرایه معمولی چون باید اندازه ثابت داشته باشد نمیتونی به برنامه عدد n رو بدی و بگی که جمله n رو محاسبه کنه ولی میتونی توی کدت n رو به صورت یک عدد ثابت به برنامه بدی و موقع اجرا نتیجه رو بده ولی اگه از لیست پیوندی استفاده کنی میتونی آرایه ای با اندازه متغییر بسازی که این مشکل رو نداشته باشی و در حین اجرای برنامه عدد n رو بهش بدی و نتیجه رو برات محاسبه کنه.
در ضمن برای نوشتن فیبوناچی نیازی به آرایه نیست براحتی بدون آرایه میتونی بنویسی.
در راستای صحبت آقای 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];
}
استفاده از آرایه داینامیک :
#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();
}
az hamaton mammnoon