Моей задачей было написать программу, которая умножает две матрицы . Программа должна получить от пользователя информацию о том, сколько строк и столбцов у него имеет первая матрица и сколько второй матрицы (на которую мы умножим). Затем введите диапазон чисел для первой и второй матриц. Таблицы заполнены случайными числами из заданных диапазонов. Затем мы делаем матрицу умножения. Мы отображаем матрицы, заполненные случайными числами, и полученную матрицу. Так я и сделал, но ответ не правильный. Кто-нибудь может мне помочь с этим материалом? Большое спасибо заранее ...
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
cout << "Provide first matrix dimensions (rows, cols):\n";
int TWier1, TKol1, za;
cin >> TWier1 >> TKol1;
int taba[TWier1][TKol1];
cout << "Provide matrix max value:\n";
cin >> za;
for(int i=0;i<TWier1;i++)
{
for(int j=0;j<TKol1;j++)
{
taba[i][j] = rand() % za;
}
}
for(int i=0;i<TWier1;i++)
{
for(int j=0;j<TKol1;j++)
{
cout << taba[i][j] << " ";
}
cout << "\n";
}
cout << "Provide second matrix dimensions (rows, cols):\n";
int TWier2, TKol2;
cin >> TWier2 >> TKol2;
int tabb[TWier2][TKol2];
for(int i=0;i<TWier2;i++)
{
for(int j=0;j<TKol2;j++)
{
taba[i][j] = rand() % za;
}
}
for(int i=0;i<TWier2;i++)
{
for(int j=0;j<TKol2;j++)
{
cout << tabb[i][j] << " ";
}
cout << "\n";
}
int tabc[TWier1][TKol2];
for(int i=0;i<TWier1;i++)
{
for(int j=0;j<TKol2;j++)
{
tabc[i][j]=0;
}
}
for(int i=0;i<TWier1;i++)
{
for(int j=0;j<TKol2;j++)
{
for(int k=0;k<TWier1;k++)
{
tabc[i][j] += taba[k][j]*tabb[i][k];
}
}
}
for(int i=0;i<TWier1;i++)
{
for(int j=0;j<TKol2;j++)
{
cout << tabc[i][j] << " ";
}
cout << "\n";
}
system("pause");
return 0;
}