如何实现C语言中矩阵的加法与乘法操作实例?

2026-05-08 13:473阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计767个文字,预计阅读时间需要4分钟。

如何实现C语言中矩阵的加法与乘法操作实例?

C++中实现矩阵的加法和乘法示例:- 矩阵加法:将两个矩阵对应位置的元素相加。- 矩阵乘法:按矩阵乘法定义进行元素相乘和求和。

示例代码:cpp#include using namespace std;

const int ROWS=2;const int COLS=3;

void printMatrix(int matrix[ROWS][COLS]) { for (int i=0; i

void addMatrices(int matrix1[ROWS][COLS], int matrix2[ROWS][COLS], int result[ROWS][COLS]) { for (int i=0; i

void multiplyMatrices(int matrix1[ROWS][COLS], int matrix2[ROWS][COLS], int result[ROWS][COLS]) { for (int i=0; i

int main() { int matrix1[ROWS][COLS]={{1, 2, 3}, {4, 5, 6}}; int matrix2[ROWS][COLS]={{7, 8, 9}, {10, 11, 12}}; int result[ROWS][COLS];

cout << Matrix 1: <

cout << Matrix 2: <

cout << Matrix 1 + Matrix 2: <

cout << Matrix 1 * Matrix 2: <

return 0;}

如何实现C语言中矩阵的加法与乘法操作实例?

C++中实现矩阵的加法和乘法实例

实现效果图:

实例代码:

#include<iostream> using namespace std; class Matrix { int row;//矩阵的行 int col;//矩阵的列 int **a;//保存二维数组的元素 public: Matrix();//默认构造函数 Matrix(int r, int c); Matrix(const Matrix &is);//拷贝构造函数 void Madd(const Matrix &is);//矩阵加 Matrix Mmul(const Matrix &is);//矩阵乘 void display();//显示矩阵元素 }; Matrix::Matrix(int r, int c) { row = r; col = c; a = (int **)malloc(sizeof(int*)*row); for (int r = 0; r < row; r++) { *(a + r) = (int*)malloc(sizeof(int)*col); } printf("请输入数:\n"); for (int i = 0; i < row; i++) for (int j = 0; j < col; j++) cin >> a[i][j]; } Matrix::Matrix(const Matrix & is) {//拷贝构造函数 row = is.row; col = is.col; a = new int*[row]; for (int i = 0; i < row; i++) { a[i] = new int[col]; } a = is.a; } void Matrix::Madd(const Matrix & is) { if (row != is.row || col != is.col)//判断两矩阵是否符合相加条件 { cout << "相加的矩阵必须行和列一致"; } else { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { a[i][j] += is.a[i][j]; } } } } Matrix Matrix::Mmul(const Matrix & is) { Matrix M3(this->row, is.col); if (this->col != is.row)//判断是否符合相乘条件 { cout << "不符合两矩阵相乘的条件"; } else { for (int i = 0; i < M3.row; i++) { for (int j = 0; j < M3.col; j++) { M3.a[i][j] = 0; for (int n = 0; n < is.row; n++) { M3.a[i][j] += this->a[i][n] * is.a[n][j]; } } } } return M3; } void Matrix::display() {//输出矩阵 for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << a[i][j] << " "; } cout << endl; } cout << endl; } int main() { Matrix m1(3, 3); m1.display(); Matrix m2(3, 3); m2.display(); Matrix m3(3, 2); m3.display(); cout << "m1+m2=" << endl; m1.Madd(m2); m1.display(); Matrix m4(m1.Mmul(m3)); cout << "m1*m3=" << endl; m4.display(); system("pause"); return 0; }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

本文共计767个文字,预计阅读时间需要4分钟。

如何实现C语言中矩阵的加法与乘法操作实例?

C++中实现矩阵的加法和乘法示例:- 矩阵加法:将两个矩阵对应位置的元素相加。- 矩阵乘法:按矩阵乘法定义进行元素相乘和求和。

示例代码:cpp#include using namespace std;

const int ROWS=2;const int COLS=3;

void printMatrix(int matrix[ROWS][COLS]) { for (int i=0; i

void addMatrices(int matrix1[ROWS][COLS], int matrix2[ROWS][COLS], int result[ROWS][COLS]) { for (int i=0; i

void multiplyMatrices(int matrix1[ROWS][COLS], int matrix2[ROWS][COLS], int result[ROWS][COLS]) { for (int i=0; i

int main() { int matrix1[ROWS][COLS]={{1, 2, 3}, {4, 5, 6}}; int matrix2[ROWS][COLS]={{7, 8, 9}, {10, 11, 12}}; int result[ROWS][COLS];

cout << Matrix 1: <

cout << Matrix 2: <

cout << Matrix 1 + Matrix 2: <

cout << Matrix 1 * Matrix 2: <

return 0;}

如何实现C语言中矩阵的加法与乘法操作实例?

C++中实现矩阵的加法和乘法实例

实现效果图:

实例代码:

#include<iostream> using namespace std; class Matrix { int row;//矩阵的行 int col;//矩阵的列 int **a;//保存二维数组的元素 public: Matrix();//默认构造函数 Matrix(int r, int c); Matrix(const Matrix &is);//拷贝构造函数 void Madd(const Matrix &is);//矩阵加 Matrix Mmul(const Matrix &is);//矩阵乘 void display();//显示矩阵元素 }; Matrix::Matrix(int r, int c) { row = r; col = c; a = (int **)malloc(sizeof(int*)*row); for (int r = 0; r < row; r++) { *(a + r) = (int*)malloc(sizeof(int)*col); } printf("请输入数:\n"); for (int i = 0; i < row; i++) for (int j = 0; j < col; j++) cin >> a[i][j]; } Matrix::Matrix(const Matrix & is) {//拷贝构造函数 row = is.row; col = is.col; a = new int*[row]; for (int i = 0; i < row; i++) { a[i] = new int[col]; } a = is.a; } void Matrix::Madd(const Matrix & is) { if (row != is.row || col != is.col)//判断两矩阵是否符合相加条件 { cout << "相加的矩阵必须行和列一致"; } else { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { a[i][j] += is.a[i][j]; } } } } Matrix Matrix::Mmul(const Matrix & is) { Matrix M3(this->row, is.col); if (this->col != is.row)//判断是否符合相乘条件 { cout << "不符合两矩阵相乘的条件"; } else { for (int i = 0; i < M3.row; i++) { for (int j = 0; j < M3.col; j++) { M3.a[i][j] = 0; for (int n = 0; n < is.row; n++) { M3.a[i][j] += this->a[i][n] * is.a[n][j]; } } } } return M3; } void Matrix::display() {//输出矩阵 for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << a[i][j] << " "; } cout << endl; } cout << endl; } int main() { Matrix m1(3, 3); m1.display(); Matrix m2(3, 3); m2.display(); Matrix m3(3, 2); m3.display(); cout << "m1+m2=" << endl; m1.Madd(m2); m1.display(); Matrix m4(m1.Mmul(m3)); cout << "m1*m3=" << endl; m4.display(); system("pause"); return 0; }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!