c++ - 在 C++ 代码中计算斐波那契数

标签 c++ arrays function matrix fibonacci

我的问题是: 我有一个矩阵。我需要为该矩阵中的每个条目计算相应的斐波那契数,并将这些值返回到另一个矩阵中。 我不断收到 C2109 “下标需要数组或指针类型”,我知道它来自哪里,我知道它的含义,但我不知道如何

  1. 修复它
  2. 让我的代码工作。

现在,它什么也没做。我不确定我是否从我的斐波那契函数返回任何值,或者在我的主函数中正确调用它。我已经修改了它原来的样子。这是我的新代码:

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 的实现似乎可能不正确。特别是,您接受了与矩阵相对应的两个参数,但您从不直接使用这些值。相反,您正在构建一个包含所有斐波那契数列的新本地数组。您可能希望此函数返回它生成的适当斐波那契数。

希望这对您有所帮助,并祝您在 C++ 之旅中好运!

关于c++ - 在 C++ 代码中计算斐波那契数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5162578/

相关文章:

c++ - camShift 和 cvCamShift 有什么区别?

c++ - 如何正确更改 ListView 控件中的焦点项?

c++ - msvcr110d.dll中未处理的异常

c++ - 如何将数字数据序列化为char *

arrays - 在 Matlab 中矢量化和分离查找操作

python - 使用 getattr 获取方法的对象引用

java - 排序String [] []意外输出

ios - 将从@escaping 收到的值分配给 swift 另一个类中的实例变量

c++ - C/C++ : A weird library function declaration

javascript - 确定 ajax 调用完成以运行另一个 ajax 调用