Mnożenie macierzy, algorytm

0

Witam!
Próbuję napisać metodę, która po przekazaniu w parametrze dwóch macierzy pomnoży je i zwróci pomnożoną macierz. Oto mój kod:

    public int[][] mnozenie(int m1[][], int m2[][])
    {
        int tab[][] = new int[m1.length][m2[0].length];
        int c=0;
        if (m1[0].length == m2.length)
        {
            for(int i=0; i<tab.length; i++)
            {
                for(int j=0; j<tab[i].length; j++)
                {
                    c+=m1[?][?]*m2[j][i];
                    if(j==tab[i].length-1)
                    {
                        tab[i][j]=c;
                    }
                }
            }
        }
        else
        {
            System.out.println("Nie mozna pomnozc takiej macierzy");
        }
        return tab;
    }
 

Po kolumnach drugiej macierzy pętla skacze w odpowiedni sposób, ale mam problem, co podstawić pod dwa "?", aby całość ze sobą w odpowiedni sposób współgrała. Stąd moje pytanie. Czy ktoś bardziej obeznany w tych sprawach ode mnie mógłby mi powiedzieć czy dobrze próbuje zaprogramować tę metodę czy jednak trzeba cały kod przebudować, aby ta metoda poprawnie działała. A jeśli jestem na dobrym tropie to jakaś mała podpowiedź jest mile widziana ;).

1

Do środka pętli po j zamiast tego co jest teraz wstaw:

for (int k = 0; k < m1[0].length; k++) {
   tab[i][j] += m1[i][k] * m2[k][j];
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1