使用1d数组的矩阵乘法

Tom*_*man 7 c++ math matrix matrix-multiplication

我试图将存储在1d数组中的两个矩阵相乘.

我正在使用这个函数,但我的程序崩溃,我假设由于出界错误.但是,我没有(简单)调试的能力,所以我必须决定我的代码是否正确,对我来说似乎是......

void SampleUtils::multiplyMatrices(float* matA, int rA, int cA, float* matB,
        int rB, int cB, float* matC, int rC, int cC) {
    for (int i = 0; i <= rA; i++) {
        for (int j = 0; j <= cB; j++) {
            float sum = 0.0;
            for (int k = 0; k <= rB; k++)
                sum = sum + matA[i * cA + k] * matB[k * cB + j];
            matC[i * cC + j] = sum;
        }

    }
Run Code Online (Sandbox Code Playgroud)

那么,任何人都可以找出我做错了什么吗?

谢谢...

Fra*_*ser 10

你的意思是你的意思<而不是<=你的for循环.


qeh*_*hgt 6

尝试使用i < rA,j < cB,k < rBfor