m0_74749762 2024-05-14 16:27 采纳率: 0%
浏览 3

c++矩阵乘法运算哪里错误

帮忙看一下我写的这个矩阵类里的矩阵乘法函数哪里有问题呗

class Matrix {
private:
    double* a;//用户输入的数组
    double* c;//用于进行计算数组
    int row, col;
public:
    //输入矩阵
    double* set(int m, int n) {
        row = m;
        col = n;
        a = new double[m * n];
        
        for (int i = 0;i < row;i++) {
            cout<<"第"<<i+1<<"行:\n";
            for (int j = 0;j < col;j++) {
                cin >> *(a + i * col + j);
            }
        }
        return a;
    }
    double* Multiply(double* b, int row1, int col1) {
        c = new double[row * col1];
        if (col == row1) {
            for (int i = 0;i < row;i++) {
                for (int j = 0;j < col1;j++) {
                    for (int k = 0;k < col;k++) {
                        double x = *(c + i * col1 + j);
                        *(c + i * col1 + j) = x+(*(a + i * col + k))* (*(b + k * col1 + j));
                    }
                }
            }
        }
        else {
            printf("数组维度不同");
        }
        col = col1;
        return c;
    }
    void Show()
    {
        for (int i = 0;i < row;i++) {
            for (int j = 0;j < col;j++) {
                cout<< *(c + i * col + j) << "\t";
            }
            cout << "\n";
        }
    }
};

  • 写回答

2条回答 默认 最新

  • 专家-皆知 2024-05-14 16:27
    关注

    请检查矩阵乘法中数组索引越界和内存管理。

    以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月14日

悬赏问题

  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估