题解 | #计算两个矩阵的乘积#

计算两个矩阵的乘积

https://www.nowcoder.com/practice/ed6552d03e624ba58d16af6d57e1c3e9

#include <iostream>
#include<cstdio>
using namespace std;
struct Matrix {
    int matrix[3][3];
    int row, col;
    Matrix(int r, int c): row(r), col(c) {}
};
void printMatrix(Matrix x) {
    for (int i = 0; i < x.row; i++) {
        for (int j = 0; j < x.col; j++) {
            cout << x.matrix[i][j] << " ";
        }
        printf("\n");
    }
}
Matrix multiMatrix(Matrix x, Matrix y) {
    Matrix res(x.row, y.col);

    for (int i = 0; i < x.row; i++) {
        for (int j = 0; j < y.col; j++) {
            res.matrix[i][j] = 0;
            for (int k = 0; k < x.col; k++) {
                res.matrix[i][j] += (x.matrix[i][k] * y.matrix[k][j]);
//                    cout<<res.row;
//                    cout<<res.matrix[i][j]<<"\n";
            }


        }
    }
    return res;//别忘了return,没提示,表现在返回res后发现res.row为0
}
int main() {
    Matrix x(2, 3), y(3, 2);
    for (int i = 0; i < x.row; i++) {
        for (int j = 0; j < x.col; j++) {
            scanf("%d", &x.matrix[i][j]);
        }
    }
    for (int i = 0; i < y.row; i++) {
        for (int j = 0; j < y.col; j++) {
            scanf("%d", &y.matrix[i][j]);
        }
    }
    Matrix res = multiMatrix(x, y);
//    cout<<res.row;
    printMatrix(res);

    return 0;
}

全部评论

相关推荐

10-04 17:25
门头沟学院 Java
snqing:Java已经饱和了,根本不缺人。随便一个2000工资的都200人起投递
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务