提问者:小点点

C++中二维数组逐行添加元素的若干问题


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

    #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;
    }


共1个答案

匿名用户

看看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变量也可以工作。 您不必总是因为有一个循环就必须使用数组。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(c++|中二|维|数组|逐行|添加|元素|若干问题)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?