面对二维数组中的一些问题,在 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_row
和 i
a_row[i]=a_row[i]+a[i][j];
看到问题了吗?
其实根本没必要a_row
做数组。一个简单的 int
变量也可以。您不必总是因为有循环就必须使用数组。
在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_row
和 i
a_row[i]=a_row[i]+a[i][j];
看到问题了吗?
其实根本没必要a_row
做数组。一个简单的 int
变量也可以。您不必总是因为有循环就必须使用数组。