矩阵乘法的函数。假设矩阵 a 为3行4列, b 为4行2列, a 和 b 的乘积 c 为3行2列。矩阵乘法的函数原型为 void MultiMatrix ( int a [][4"/>
进阶:编写一个矩阵乘法的函数。假设矩阵 a 为3行4列, b 为4行2列, a 和 b 的乘积 c 为3行2列。矩阵乘法的函数原型为 void MultiMatrix ( int a [][4
#include <iostream>
using namespace std;void Input(int matrix[][4], int rows, int cols) {cout << "输入矩阵所包含的元素:" << endl;for (int i = 0; i < rows; ++i){for (int j = 0; j < cols; ++j){cout << "按顺序输入元素(" << i + 1 << ", " << j + 1 << "): ";cin >> matrix[i][j];}}
}// 按行输出矩阵
void Print(int matrix[][2], int rows, int cols)
{cout << "矩阵:" << endl;for (int i = 0; i < rows; ++i){for (int j = 0; j < cols; ++j){cout << matrix[i][j] << " ";}cout << endl;}
}// 矩阵乘法函数
void MultiMatrix(int a[][4], int b[][2], int c[][2], int arrow, int brow, int crow)
{for (int i = 0; i < arrow; ++i){for (int j = 0; j < brow; ++j) {c[i][j] = 0;for (int k = 0; k < crow; ++k){c[i][j] += a[i][k] * b[k][j];}}}
}int main() {const int arrow = 3; // 行数const int brow = 4; // 列数const int crow = 2; // 列数int a[arrow][brow];int b[brow][crow];int c[arrow][crow];// 输入矩阵aInput(a, arrow, brow);// 输入矩阵bInput(b, brow, crow);// 进行矩阵乘法MultiMatrix(a, b, c, arrow, brow, crow);// 输出结果矩阵cPrint(c, arrow, crow);return 0;
}
更多推荐
进阶:编写一个矩阵乘法的函数。假设矩阵 a 为3行4列, b 为4行2列, a 和 b 的乘积 c 为3行2列。矩阵乘法的函数原型为 void MultiMat
发布评论