【问题标题】:What is error in code for adding 3*3 matrix? [duplicate]添加 3*3 矩阵的代码有什么错误? [复制]
【发布时间】:2021-07-18 18:45:27
【问题描述】:
#include <iostream>

using namespace std;

int main()
{
   int a[3][3] = {1,1,1,1,1,1,1,1,1};
   int b[3][3] = {1,1,1,1,1,1,1,1,1};
   int c[3][3];
   for(int i=1;i<=3;i++)
   {
       for(int j=1;j<=3;j++)
       {
           c[i][j]=a[i][j]+b[i][j];
           cout<<"Element of C"<<i<<j<<"is\t"<<c[i][j]<<endl;
       
       }
  
   
   }

       return 0;

}

在上面的代码中,我在 A22 之前得到了正确的输出,但是对于上面的代码,我得到了一个 垃圾值。

【问题讨论】:

  • 您需要了解 C 中数组的索引:索引从零开始,因此三项数组的索引为 0、1 和 2,即小于三个而不是小于或等于三个。

标签: c++


【解决方案1】:

您需要从 0 开始索引矩阵,而不是 1。因此,您需要将 for 循环更改为 for(int i=0;i&lt;3;i++)

【讨论】:

    【解决方案2】:
    • Do not using namespace std

    • 二维数组最好用双括号初始化

      int a[3][3] = {{1,1,1},{1,1,1},{1,1,1}};

      int b[3][3] = {{1,1,1},{1,1,1},{1,1,1}};

    • C/C++ 中的数组索引从 0 开始。因此循环应该是

      for(int i=0;i&lt;3;i++)

      嵌套循环类似

    • 为 C++ 获取 good book

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多