Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Mnożenie macierzy

Ostatnio zmodyfikowano 2018-04-19 14:26
Autor Wiadomość
paweto
Temat założony przez niniejszego użytkownika
[C++] Mnożenie macierzy
» 2018-04-19 11:41:11
C/C++
matrix operator *( const matrix & mat ) {
    matrix mul;
    mul.mSize = mat.mSize;
    mul.mP = new int[ mul.mSize * mul.mSize ];
    if( mSize == mat.mSize ) {
        for( int i = 0; i < mul.mSize * mul.mSize; i++ ) {
            for( int j = 0; j < mul.mSize * mul.mSize; j++ ) {
                for( int k = 0; k < mul.mSize * mul.mSize; k++ ) {
                    mul.mP[ i ][ j ] += mP[ i ][ k ] * mat.mul[ k ][ j ];
                }
            }
        }
    } else {
        cout << "error";
        exit( - 1 );
    }
    return mul;
}

Potrzebuję pomnożyć dwie macierze kwadratowe o tych samych rozmiarach, napisałem coś takiego, ale wywala mi 3 błędy:

matrix.cpp:88:36: error: invalid types 'int[int]' for array subscript
                         mul.mP[i][j] += mP[i][k] * mat.mul[k][j];
                                    ^
matrix.cpp:88:48: error: invalid types 'int[int]' for array subscript
                         mul.mP[i][j] += mP[i][k] * mat.mul[k][j];
                                                ^
matrix.cpp:88:56: error: 'const class matrix' has no member named 'mul'
                         mul.mP[i][j] += mP[i][k] * mat.mul[k][j];
                                                   ^~~

Nie wiem w ogóle czy dobrze się do tego zabieram, doradzi ktoś?
P-170746
pekfos
» 2018-04-19 12:51:03
To tablice jednowymiarowe, więc musisz obliczyć jeden indeks, a nie podawać 2.
P-170747
paweto
Temat założony przez niniejszego użytkownika
» 2018-04-19 13:24:46
Coś typu [i*j] zamiast [.i][j] ?
P-170748
pekfos
» 2018-04-19 14:21:16
Coś takiego, ale na pewno nie samo takie mnożenie.
P-170749
paweto
Temat założony przez niniejszego użytkownika
» 2018-04-19 14:23:00
Okej, postaram się to rozszyfrować, dzięki za pomoc.
P-170750
darko202
» 2018-04-19 14:26:03
możesz inaczej zbudować klasę matrix
np. w oparciu o coś podobnego do
https://msdn.microsoft.com​/en-us/library/hh873134.aspx
P-170751
« 1 »
  Strona 1 z 1