c++ - 我如何输出二维数组 C++ 的行总和

标签 c++ arrays multidimensional-array revision

编辑:我是 c++ 的新手。两周前开始使用这种语言。

很抱歉,如果之前有人问过这个问题,但我在网上到处搜索如何对二维数组中的各个行求和,但没有找到我正在寻找的答案。

我需要在 a[m][n] 中显示每一行的总和,但出于某种原因,这仅在我的数组为 2x2 时有效,但如果它为 3x3 或更大,那么我在终端:

for intsance, a[3][3]= 
{1,2,3},   //this is determined by the user
{1,2,3},
{1,2,3};

then i get the following output:
9179942 //address of some sort???
6       // actual sum. code is working here (yay :D)
469090925// again something i dont understand

这是我目前的情况

#include <iostream>
using namespace std;
int main(){
int m,n;
cout<<"Enter number of rows for array"<<endl;
cin>>m;
if (m>10){
    cout<<"More than 10 rows will be too big"<<endl;
    return 1;   
} 
cout<<"Enter number of collumns for array"<<endl;
cin>>n;
if (n>10){
    cout<<"More than 10 collumns will be too big"<<endl;
    return 1;
} 
int a[m][n];
for(int i=0; i<m;i++){
    cout<<"Enter "<<m<<" values into row "<<i+1<<endl;
    for(int j=0; j<n; j++){
        cout<<"a ["<<i<<"]["<<j<<"]: ";
        cin>>a[i][j];
    }
}
cout<<"Array dimensions: "<<m<<"x"<<n<<'\n'<<"resulting array: "<<endl;
for(int i=0; i<m;i++){
    for(int j=0; j<n; j++){
        cout<<a[i][j]<<"    ";
    }
    cout<<endl;
}
int avg[m];
int el_less_avg;
for(int i=0; i<m; i++){
    for(int j=0; j<n;j++){
        avg[i]+=a[i][j];
    }
}cout<<"\n\n";
for(int i=0; i<m; i++){

    cout<<avg[i]<<endl;
}

return 0;
}

最佳答案

int avg[m];
int el_less_avg;
for(int i=0; i<m; i++){
    for(int j=0; j<n;j++){

您没有初始化这些值,因此它们可以随意成为当时堆栈中的任何内容。您需要初始化它们。

int avg[m];
for (int i = 0; i < m; ++i) {
    avg[i] = 0;
    for (int j = 0; j < n; ++j) {
        avg[i] += a[i][j];
    }
}

关于c++ - 我如何输出二维数组 C++ 的行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35278506/

相关文章:

c++ - 如何使用 IStringStream 从文件中读取?

ios - 如何将数组导入函数 tableViewControler

c++ - 如何在 C++ 中为二维 vector 做构造函数?

java - 如何让二维数组打印 1 到 80

java - ArrayList 的 2D 数组 null 异常

c++ - 进入main()前出现栈溢出异常

c++ - 选择具有不同概率的事件 - C++

c++ - 为什么 QHeaderView::section:checked 和 :selected 样式表不起作用?

javascript - 如何检查外部数组内部的内部数组? (加号=>功能)

javascript - 如何在 ReactJS 中使用 filter() 从数组中删除一项 - 函数无法正常工作