c++ - 将修改后的矩阵中的所有数字相加

标签 c++ c++builder

您好,我最近问了一个关于如何执行以下操作的问题:

编写一个函数,使用以下标题对整数矩阵中的所有整数求和:

const int SIZE = 4;
double sumMatrix (const double m [] [SIZE] , int rowSize, int columnSize) ; 

编写一个测试程序,读取一个 4×4 矩阵并显示其所有元素的总和。这是一个示例运行:

逐行输入一个4×4的矩阵:

1 2 3 4 [Enter]
5 6 7 8 [Enter]
9 10 11 12 [Enter]
13 14 15 16 [Enter]
Sum of the matrix is 136

我尝试使用所有可能的建议,但问题可能是我只需要回到基础并学习一些我跳过的基础知识,但这是我目前所掌握的。更正和解决方案,以及任何形式的帮助将不胜感激。

#include <iostream>
using namespace std;

const int COLUMN_SIZE = 4;

int sum(const int a[] [COLUMN_SIZE], int rowSize)
{
    int total = 0;
    for (int row = 0; row < rowSize; row++)
    {
        for (int column = 0; column < COLUMN_SIZE; column++)
        {
            total += a[row][column];
        }
    }

    return total;
}
int main()
{
    int m[4][4]=
    {
        {1,2,3,4},
        {5,6,7,8},
        {9,10,11,12},
        {13,14,15,16}
    };
    cout<< "Sum of the matrix"<< sum(m,4) << endl;
    return 0;
}

最佳答案

您需要的读取功能看起来与您的打印功能几乎相同:

void read(const int a[] [COLUMN_SIZE], int rowSize)
{
    for (int row = 0; row < rowSize; row++)
    {
        for (int column = 0; column < COLUMN_SIZE; column++)
        {
            cout << "Enter number for [" << row << "][" << column << "]: ";
            cin >> a[row][column];
        }
    }
}

(作为脚注:如果您可以概括循环并拥有一个函数,您可以将“读取”或“求和”传递给您,那么您就可以变得很棒了)

编辑: 猜想我没有阅读问题的“逐行”部分。耸肩。

关于c++ - 将修改后的矩阵中的所有数字相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3285384/

相关文章:

c++ - Qt Creator - C++ 库,找不到可执行文件?

c++ - 这种编码线程安全,死锁安全吗?

c++ - 在 C++ 中实现多变量正态 pdf 以进行图像分类

c++ - 从私有(private)结构数据成员访问 C++ 类公共(public)成员函数

delphi - 在C++ Builder 2010中使用软件包时,如何解决“加载了两个不同的CRTLDLL”的问题?

c++ - 如何为每个 XML 节点添加换行符?

c++ - 模板函数调用歧义是如何解决的?

c++ - unique_ptr<TStringList []> dsts(new TStringList[5]) 失败

c++ - 在 C++Builder 中使用 swprintf 打印窄字符串

c++ - 读取文件所花费的时间