我在使用這個非遞歸斐波那契函數時遇到了一些麻煩。我使用這個數組數組並將它傳遞給FiboNR
,但是我得到了大的負值和訪問衝突錯誤。C++斐波那契錯誤
int n[15] = { 1,5,10,15,20,25,30,35,40,45,50,55,60,65,70 };
int FiboNR(int n) // array of size n
{
int const max = 100;
int F[max];
F[0] = 0; F[1] = 1;
for (int i = 2; i <= n; i++) {
F[n] = F[n - 1] + F[n - 2];
}
return (F[n]);
}
功能是一個由教師提供的,我以爲它正確的,如果他給它,但這些內存錯誤,我不完全明白髮生了什麼事情。唯一的方法,我打電話在一個循環中通過陣列和輸出答案像cout << FiboNR(n[i]);
環內容應該是'F [i] = F [I - 1] + F [我 - 2];' – Jarod42
@ Jarod42這是該問題的解決方案,這是正確的答案,你爲什麼這樣做不要把它作爲答案嗎? – Kiloreux
這似乎並沒有解決它,但是,我做了一個編輯,但即時通訊仍然收到相同的內存錯誤。 – nmorell