Я пытаюсь написать программу для генерации последовательности Фибоначчи с помощью подхода динамического программирования следующим образом.ошибка C2106: '=': левый операнд должен быть l-значением в последовательности Фибоначчи путем динамического программирования в C++
#include<iostream>
#include<ctime>
int fib(int index)
{
int memo[] = {0};
memo[0] = 0;
memo[1] = 1;
for(int i = 2; i <= index; i++)
{
fib(index) = fib(index - 1) + fib(index - 2); //error comes here
}
return fib(index);
}
int main()
{
time_t start, end, diff;
int index;
std::cout << "Please, enter the index of fibonacci sequence" << std::endl;
std::cin >> index;
start = time(NULL);
std::cout << "calculating...." << std::endl << fib(index) <<std::endl;
end = time(NULL);
diff = (time_t)difftime(end, start);
std::cout << "Time elapsed: " << diff << std::endl;
return 0;
}
Но, в fib(index) = fib(index - 1) + fib(index - 2);
получаю ошибку Iam линии, как
error C2106: '=' : left operand must be l-value
Так скажите, пожалуйста, что не так я сделал в этой строке. Заранее спасибо.
Наверное, не должно быть примечания [index] вместо fib (index) – besworland
Не назначайте 'fib (index)'. – Maroun