#include <iostream>
#include <ctime>
using namespace std;
void vvod(int **x, int k, int p)
{
for (int i=0; i<k; i++)
{
for (int j=0; j<p; j++)
x[i][j]=rand()%10;
}
}
void vivod(int **x, int k, int p)
{
for (int i=0; i<k; i++)
{
for (int j=0; j<p; j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
void proizv(int **x, int **y, int **z, int k, int p, int t)
{
int s;
for (int i=0; i<k; i++)
{
for (int j=0; j<t; j++)
{
s=0;
for (int k=0; k<p; k++)
s=s+x[i][k]*y[k][j];
z[i][j]=s;
}
}
}
int main()
{
const int n=10,m=15,p=13;
setlocale(LC_ALL,"rus_rus.1251");
srand(time(0));
int **a,**b,**c;
//new
a=new int*[n];
for (int i=0;i<n;i++)
a[i]=new int [m];
b=new int*[m];
for (int i=0;i<m;i++)
b[i]=new int [p];
c=new int*[n];
for (int i=0;i<n;i++)
c[i]=new int [p];
vvod(a,n,m);
cout<<"Матрица A:"<<endl;
vivod(a,n,m);
vvod(b,m,p);
cout<<"Матрица B:"<<endl;
vivod(b,m,p);
proizv(a,b,c,n,m,p);
cout<<"Матрица C:"<<endl;
vivod(c,n,p);
//delete
for (int i=0;i<n;i++)
delete []a[i];
delete []a;
for (int i=0;i<m;i++)
delete []b[i];
delete []b;
for (int i=0;i<n;i++)
delete []c[i];
delete []c;
system("pause");
return 0;
}
|