[C++] Mnożenie macierzy
Ostatnio zmodyfikowano 2018-04-19 14:26
paweto Temat założony przez niniejszego użytkownika |
[C++] Mnożenie macierzy » 2018-04-19 11:41:11 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ś? |
|
pekfos |
» 2018-04-19 12:51:03 To tablice jednowymiarowe, więc musisz obliczyć jeden indeks, a nie podawać 2. |
|
paweto Temat założony przez niniejszego użytkownika |
» 2018-04-19 13:24:46 Coś typu [i*j] zamiast [.i][j] ? |
|
pekfos |
» 2018-04-19 14:21:16 Coś takiego, ale na pewno nie samo takie mnożenie. |
|
paweto Temat założony przez niniejszego użytkownika |
» 2018-04-19 14:23:00 Okej, postaram się to rozszyfrować, dzięki za pomoc. |
|
darko202 |
» 2018-04-19 14:26:03 |
|
« 1 » |