我的问题是:
我有一个矩阵.我需要为该矩阵中的每个条目计算相应的Fibonacci数,并将这些值返回到另一个矩阵中.
我一直得到一个C2109“下标需要数组或指针类型”,我知道它来自哪里,我知道它意味着什么,但我不知道如何
我有一个矩阵.我需要为该矩阵中的每个条目计算相应的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; }
任何帮助表示赞赏!
解决方法
我认为问题在于这一行:
f [i][j] = fib [ p [i][j] ];
试图错误地调用fib功能.你在这里有正确的想法,但要在C中调用函数,你需要使用常规括号而不是方括号.我认为这条线应该是这样的
f [i][j] = fib ( p [i][j] );
作为后续行动,您对fib的实施似乎可能不正确.特别是,您接受了与矩阵相对应的两个参数,但您从不直接使用这些值.相反,您正在构建一个包含所有Fibonacci数的新局部数组.您可能希望让此函数返回它生成的相应Fibonacci数.
希望这对您的C之旅有所帮助,祝您好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。