📜  C++示例 矩阵乘法(1)

📅  最后修改于: 2023-12-03 14:39:59.847000             🧑  作者: Mango

C++矩阵乘法

在数学中,矩阵乘法就是将两个矩阵相乘生成一个新的矩阵。在C++中,我们可以使用二维数组来表示矩阵,然后使用循环来实现矩阵乘法。

以下是一个展示如何实现矩阵乘法的C++示例:

#include <iostream>

using namespace std;

const int N = 100;

int a[N][N], b[N][N], c[N][N];

int main()
{
    int n;
    cin >> n;

    // 输入矩阵a
    for (int i = 0; i < n; i ++)
        for (int j = 0; j < n; j ++)
            cin >> a[i][j];

    // 输入矩阵b
    for (int i = 0; i < n; i ++)
        for (int j = 0; j < n; j ++)
            cin >> b[i][j];

    // 计算矩阵c
    for (int i = 0; i < n; i ++)
        for (int j = 0; j < n; j ++)
            for (int k = 0; k < n; k ++)
                c[i][j] += a[i][k] * b[k][j];

    // 输出矩阵c
    for (int i = 0; i < n; i ++)
    {
        for (int j = 0; j < n; j ++)
            cout << c[i][j] << ' ';
        cout << endl;
    }

    return 0;
}
代码解析
  1. 定义了一个长度为100的二维数组a、b、c,用来存储输入的两个矩阵和计算得到的积矩阵。
  2. 通过使用using namespace std,省略了部分命名空间,如std::cout可以替换为cout
  3. 输入矩阵a和b的代码是通过使用两个嵌套的循环来实现的。外层循环控制行,内层循环控制列。
  4. 计算矩阵c的代码使用了三个嵌套的循环。外层循环控制行,中层循环控制列,内层循环控制相乘元素的下标。
  5. 输出矩阵c是通过使用两个嵌套的循环来实现的。外层循环控制行,内层循环控制列。
测试样例

输入

3
1 2 3
4 5 6
7 8 9
9 8 7
6 5 4
3 2 1

输出

30 24 18 
78 63 48 
126 102 78
总结

在C++中实现矩阵乘法需要使用嵌套循环,外层循环控制行,内层循环控制列,最内层循环控制相乘元素的下标。务必注意矩阵乘法的规则和边界情况。