Sam*_*Sam 7 c++ arrays function matrix fibonacci
我的问题是:我有一个矩阵.我需要为该矩阵中的每个条目计算相应的Fibonacci数,并将这些值返回到另一个矩阵中.我一直得到一个C2109"下标需要数组或指针类型",我知道它来自哪里,我知道它意味着什么,但我不知道如何
现在,它没有做任何事情.我不确定我是否从我的Fibonacci函数中返回任何值,或者在我的main函数中正确调用它.我已经修改了它原来的样子.这是我的新代码:
const int row1 = 3;
const int col1row2 = 3;
const int col2 = 3;
int fibonacci (int [][col2]);
void main()
{
int p[row1][col2], f [row1][col2];
int sum;
input (a,b);
cout<<"The Fibonacci Matrix is: ";
cout<<fibonacci(p);
for ( int i = 0; i < row1; i++)
{
for ( int j = 0; j < col2; j++)
{
sum = f[i][j];
f[i][j] = fibonacci(p);
}
}
cout<<endl;
}
int fibonacci (int z[][col2])
{
int fib [100] = {0 , 1};
int sum = 0;
for ( int m = 2; m < 100; m++)
{
sum = fib[m-1] + fib[m-2];
fib[m] = sum;
}
return sum;
cout<<endl;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!
我认为问题在于这一行:
f [i][j] = fib [ p [i][j] ];
Run Code Online (Sandbox Code Playgroud)
试图fib错误地调用该函数。您的想法是正确的,但是要在 C++ 中调用函数,您需要使用常规括号而不是方括号。我认为这条线应该看起来像
f [i][j] = fib ( p [i][j] );
Run Code Online (Sandbox Code Playgroud)
作为后续行动,您的实施fib似乎可能不正确。特别是,您接受了与矩阵相对应的两个参数,但您从不直接使用这些值。相反,您正在构建所有斐波那契数的新本地数组。您可能希望让此函数返回它生成的适当的斐波那契数。
希望这对您有所帮助,祝您 C++ 之旅好运!