C/C++ 实现二维数组的矩阵相乘和矩阵相加

C++实现矩阵相乘和相加运算
这里只实现了N * N矩阵的相加和相乘,如果想要实现N*M 和 M*S矩阵相乘,得到N*S矩阵,只需要将乘法的i,j改成N和S的值,k对应的是M的值

#include <iostream>
#define N 3

using namespace std;
void Print(int Mx[N][N]){//二维数组引用第二个参数必须要有值,否则编译不通过
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            cout<<Mx[i][j]<<" ";
        }
        cout<<endl;
    }
}
void MatrixMultiply(int Mx1[N][N],int Mx2[N][N]){
    int Mx[N][N];
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            int sum = 0;
            for(int k = 0; k < N; k++){
                //遍历对应第i行和第j列实现相乘
                sum+=Mx1[i][k]*Mx2[k][j];
            }
            Mx[i][j] = sum;
        }
    }
    cout<<"矩阵相乘结果:\n";
    Print(Mx);
}
void MatrixAdd(int Mx1[N][N],int Mx2[N][N]){
    int Mx[N][N];
    for(int i = 0; i < N; i++){
        for(int j = 0; j < N; j++){
            //矩阵相加,对应行和列相加即可
            Mx[i][j] = Mx1[i][j] + Mx2[i][j];
        }
    }
    cout<<"\n矩阵相加结果:\n";
    Print(Mx);
}
int main() {
    int Mx1[N][N]={{1,1,1},{1,1,1},{1,1,1}};
    int Mx2[N][N]={{1,2,3},{4,5,6},{7,8,9}};
    //Print(Mx1);
    MatrixMultiply(Mx1,Mx2);
    MatrixAdd(Mx1,Mx2);
    return 0;
}

考研打卡!

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值