Программа целиком:
#include <iostream>
#include <ctime>
using namespace std;
void vvod(int **a, int n, int m);
void vivod(int **a, int n, int m);
void Multiply(int **a,int **b,int **c,int n,int k,int m);
int main()
{
const int n=4,m=5,k=6;
int **a=new int *[n];
for (int i=0;i<n;i++) a[i]=new int[k];
int **b=new int *[k];
for (int i=0;i<k;i++) b[i]=new int[m];
int **c=new int *[n];
for (int i=0;i<n;i++) c[i]=new int[m];
vvod(a,n,k);
cout<<"Matrix A:"<<endl; vivod(a,n,k);
vvod(b,k,m);
cout<<"Matrix B:"<<endl; vivod(b,k,m);
Multiply(a,b,c,n,k,m);
cout<<"Matrix C=A*B:"<<endl; vivod(c,n,m);
for (int i=0;i<n;i++) delete []a[i];
delete a;
for (int i=0;i<k;i++) delete []b[i];
delete b;
for (int i=0;i<n;i++) delete []c[i];
delete c;
system("pause");
}
void Multiply(int **a,int **b,int **c,int n,int k,int m)
{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
c[i][j]=0;
for (int p=0;p<k;p++)
c[i][j]+=a[i][p]*b[p][j];
}
}
void vvod(int **a, int n, int m)
{
srand(time(0));
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
a[i][j]=rand()%10;
}
void vivod(int **a, int n, int m)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
cout.width(3);
cout<<left<<a[i][j]<<" ";
}
cout<<endl;
}
}
|