Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在二维数组中添加列的值_C++_Arrays_Algorithm_Multidimensional Array - Fatal编程技术网

C++ 在二维数组中添加列的值

C++ 在二维数组中添加列的值,c++,arrays,algorithm,multidimensional-array,C++,Arrays,Algorithm,Multidimensional Array,您好,我正在尝试在数组的各个元素中添加行和列。我可以添加行,但不能添加列。下面我有一个二维数组,我的行添加循环产生了我想要的结果,但是我不能将列的元素添加在一起。我对如何做到这一点感到困惑,我不知道如何将所有的数字相加,希望有人能帮我解决这个问题。提前谢谢。这是代码 #include <iostream> using namespace std; int main() { const int ROW1 = 29; const int COL1 = 5; i

您好,我正在尝试在数组的各个元素中添加行和列。我可以添加行,但不能添加列。下面我有一个二维数组,我的行添加循环产生了我想要的结果,但是我不能将列的元素添加在一起。我对如何做到这一点感到困惑,我不知道如何将所有的数字相加,希望有人能帮我解决这个问题。提前谢谢。这是代码

#include <iostream>
using namespace std;

int main()
{

    const int ROW1 = 29;
    const int COL1 = 5;
    int days[ROW1][COL1] =
    {
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 },
      { 1, 2, 3, 4, 5 }, 
    };

//code that sums each row in the array and displays the results.

    for (int k = 0; k < ROW1; k++)
    {
        int rowAdder = 0;
        for (int l = 0; l < COL1; l++)
        {
            rowAdder += days[k][l];
        }
        cout << "The total of row " << k + 1 << " is " << rowAdder << "." << endl;
    }

    cout << endl;

//code that sums each column in the array and displays the results.

    for (int m = 0; m < ROW1; m++)
    {
        for (int n = 0; n < COL1; n++)
        {
            int columnAdder = 0;
            columnAdder += days[m][n];
            cout << columnAdder << endl;
        }
    }
    return 0;
}

我希望第二个循环有一个类似的输出,但是如果你运行代码,数字不会增加,它会计算单个元素。相反再次感谢。

这就是总数

int totalSum = 0;

for (int m = 0; m < ROW1; m++)
{
    for (int n = 0; n < COL1; n++)
    {
        totalSum += days[m][n];  
    }
}
cout << "Total sum: " << totalSum << endl;
int totalSum=0;
对于(int m=0;mcout您需要颠倒循环的顺序:

for (int m = 0; m < ROW1; m++)
{
    for (int n = 0; n < COL1; n++)
    {
        int columnAdder = 0;
        columnAdder += days[m][n];
        cout << columnAdder << endl;
    }
}
for(int m=0;mcout要在列中显示总和,需要先选择一列,然后循环行,因此:

sum1 = 0 
for (int m = 0; m < ROW1; m++)
{
    sum1 += days[m][0];  
}
cout << "Total sum in column 1: " << sum1 << endl;
sum1=0
对于(int m=0;m难道你有一个逻辑问题和一个语法问题。首先,这个循环:

for (int m = 0; m < ROW1; m++)
{
    for (int n = 0; n < COL1; n++)
    {
        int columnAdder = 0;
        columnAdder += days[m][n];
        cout << columnAdder << endl;
    }
}

请注意,您现在是如何首先在每一列上循环的,然后在每次迭代中重新声明一个
columnAdder
变量,并在每一行中循环以获得答案。

计算机完全按照您的要求执行,而不是按照您的要求执行。您让计算机为
循环执行两个嵌套的
,然后,在第二个循环的侧面:1)将
列加法器设置为0。2)将单元格的值相加;3)打印结果。这正是计算机所做的。显然,这不会累加任何列。这会发生在矩阵中的每个单元格中。如果您真的要将每列中的所有值相加,则必须使用
 对于
循环,就是这样。为什么是29行?我很确定你可以用2、3个top来演示这个问题。也许可以看看行加法器是如何工作的,并考虑如何对列执行相同的操作。
for (int n = 0; n < COL1; n++)
{
    int columnAdder = 0;
    for (int m = 0; m < ROW1; m++)
    {
        columnAdder += days[m][n];
    }
    cout << "The total of column " << n + 1 << " is " << columnAdder << endl;
}
sum1 = 0 
for (int m = 0; m < ROW1; m++)
{
    sum1 += days[m][0];  
}
cout << "Total sum in column 1: " << sum1 << endl;
for (int n = 0; n < COL1; n++)
{
      int columnSum = 0;
     for (int m = 0; m < ROW1; m++)
    {
        columnSum += days[m][n];  
    }
    cout << "Column sum: " << columnSum << endl;
}
for (int m = 0; m < ROW1; m++)
{
    for (int n = 0; n < COL1; n++)
    {
        int columnAdder = 0;
        columnAdder += days[m][n];
        cout << columnAdder << endl;
    }
}
for (int m = 0; m < COL1; m++)
{
    int columnAdder = 0;
    for (int n = 0; n < ROW1; n++)
    {
        columnAdder += days[n][m];
    }
    cout << columnAdder << endl;
}