Napisalem sobie proste mnozenie 2 macierzy i przy uruchomieniu nic mi nie wypisuje, tylko pisze, ze program przestal dzialac :/ Gdzie jest blad, bo ja go nie widze? Na kartce sobie policzylem, jakie powinienem miec wyniki, i dalem je nizej w komentarzu. Pomocy!
#include <iostream>
using namespace std;
int main(int argc, char **argv){
int w1, w2, k1, k2;
w1 = 3, k1 = 3;
w2 = 1, k2 = 3;
int **macierz1 = new int*[w1];
for(int i=0; i<w1; i++)
macierz1[i] = new int[k1];
int **macierz2 = new int*[w2];
for(int i=0; i<w2; i++)
macierz2[i] = new int[k2];
int **wynikowa= new int*[w2];
for(int i=0; i<w2; i++)
wynikowa[i] = new int[k2];
macierz2[0][0] = 4;
macierz2[0][1] = 5;
macierz2[0][2] = 1;
macierz1[0][0] = 1;
macierz1[0][1] = 0;
macierz1[0][2] = 0;
macierz1[1][0] = 0;
macierz1[1][1] = 1;
macierz1[1][2] = 0;
macierz1[2][0] = 1;
macierz1[2][1] = 1;
macierz1[2][2] = 1;
int suma = 0;
for(int i=0; i<w1; i++)
{
for(int j=0; j<k2; j++)
{
suma = 0;
for(int k=0; k<w2; k++)
{
suma += macierz2[i][k] * macierz1[k][j];
}//for k
wynikowa[i][j] = suma;
}//for j
}//for i
//powinno wypisac 5,6,1
cout << wynikowa[0][0] << endl;
cout << wynikowa[0][1] << endl;
cout << wynikowa[0][2] << endl;
return 0;
}