Proszę o pomoc w poprawie mojego kodu. Wynik wychodzi 2 razy większy tzn. 2 macierze 2x2 i wszędzie 1 powinno być 2x2 i po 2 a u mnie jest 2x2 i 4-órki.
#include <iostream>
using namespace std;
int main()
{
cout << "Podaj wymiary pierwszej tablicy(ilosc wierszy, ilosc kolumn):\n";
int a1, a2;
cin >> a1 >> a2;
int taba[a1][a2];
cout << "Podaj liczby macierzy pierwszej:\n";
for(int i=0;i<a1;i++)
{
for(int j=0;j<a2;j++)
{
cin >> taba[i][j];
}
}
cout << "Podaj wymiary drugiej tablicy (ilosc wierszy, ilosc kolumn):\n";
int b1, b2;
cin >> b1 >> b2;
int tabb[b1][b2];
cout << "Podaj liczby macierzy drugiej:\n";
for(int i=0;i<b1;i++)
{
for(int j=0;j<b2;j++)
{
cin >> tabb[i][j];
}
}
int tabc[a1][b2];
for(int i=0;i<a1;i++)
{
for(int j=0;j<b2;j++)
{
tabc[i][j]=0;
}
}
for(int i=0;i<a1;i++)
{
for(int j=0;j<b2;j++)
{
for(int k=0;k<a1;k++)
{
for(int m=0;m<b2;m++)
{
tabc[i][j]=taba[k][m]*tabb[m][k]+tabc[i][j];
}
}
}
}
for(int i=0;i<a1;i++)
{
for(int j=0;j<b2;j++)
{
cout << tabc[i][j] << " ";
}
cout << "\n";
}
system("pause");
return 0;
}
Z góry dzięki za pomoc
Pozdrawiam
Crasti