Умножение матриц с использованием массивов 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;
        }

    }

Итак, кто-нибудь может узнать, что я сделал не так? ?

Спасибо...

7
задан Tom Teman 20 April 2012 в 19:54
поделиться