面对二维数组中的一些问题,在 C++ 中添加每个行元素

Facing some problem in 2D array to add each row-wise elements in c++

在c++中,我为二维数组写了一个代码来添加每个行元素。但我不明白为什么我在第 5 行和第 6 行得到 sum=3,而在我的代码中得到 sum=2 而不是 3.but 其他行给出了正确的结果。不知道哪里出了问题?

    #include<iostream>
    using namespace std;
    
    int main(){
    
    int a[8][4]={{1,1,0,0},{0,1,0,0},{0,0,0,0},{0,0,0,0},{0,1,1,0},{0,1,1,0},{0,0,1,0},{0,0,1,0}};
    
       for(int i=0;i<8;i++){
            for(int j=0;j<4;j++){
                cout<<a[i][j]<<"  ";
            }
            cout<<endl;
           }
    
       cout<<endl<<endl;
    
    
       int a_row[4]={0};
    
    
       cout<<endl;
    
       for(int i=0;i<8;i++)
       {
           for(int j=0;j<4;j++)
           {
    
    
            a_row[i]=a_row[i]+a[i][j];
    
    
    
           }
           cout<<"Row"<<i+1<<":  "<<a_row[i]<<endl;
    
    
    
    
       }
    
    
    
    
    
    return 0;
    }

和我得到的输出-

看看a_row有多大

int a_row[4]={0};

现在看看i有多大

for(int i=0;i<8;i++)

现在看看你如何使用 a_rowi

a_row[i]=a_row[i]+a[i][j];

看到问题了吗?

其实根本没必要a_row做数组。一个简单的 int 变量也可以。您不必总是因为有循环就必须使用数组。