1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
| #include<iostream>
#include<conio.h>
#include <ctime>
using namespace std;
class Matr {
private:
int m,n;
double **p;
public:
Matr(int q,int w) ;
void form();
void out();
void slog(Matr b)
{ for(int i=0;i<m;i++)
for (int j=0;j<n;j++)
p[i][j]=p[i][j]+b.p[i][j];}
void minus(Matr &a,Matr &b)
{ for(int i=0;i<m;i++)
for (int j=0;j<n;j++)
p[i][j]=a.p[i][j]-b.p[i][j];}
void umnog(Matr &a,Matr &b)
{ float s=0;
for(int i=0;i<m;i++)
{
int z=0;
while(z<m)
{p[i][z]=0;
for (int j=0;j<n;j++)
{ s=a.p[i][j]*b.p[j][z];
p[i][z]+=s;}
z++;}
} }
};
main ()
{ srand(time(0));
int x,z,l,v;
cout<<"vvedite kol-vo strok 1-i matr:";cin>>x;
cout<<"vvedite kol-vo stolbcov 1-i matr:";cin>>z;
cout<<"vvedite kol-vo strok 2-i matr:";cin>>l;
cout<<"vvedite kol-vo stolbcov 2-i matr:"; cin>>v;
Matr b(x,z),c(x,z),e(l,v);
c.form();e.form();
cout<<"\nmatrica\n";
c.out();
cout<<"\nmatrica\n"; e.out();
//cout<<"\nminus\n";
//if(x!=l&&z!=v) cout << "oshibka";
//else
//{b.minus(c,e);
//b.out();}
cout<<"\numnog\n";
if(z!=l) cout << "oshibka";
else
{b.umnog(c,e);
b.out();}
getch();
}
Matr::Matr(int q,int w)
{m=q; n=w;
p = new double*[q];
for (int i = 0; i < q; i++)
p[i] = new double[w];
for(int i=0;i<q;i++)
for (int j=0;j<w;j++)
p[i][j]=0;}
void Matr::out()
{
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cout.precision(3);
cout<<p[i][j]<<"\t";
} cout<<"\n"; }
}
void Matr::form()
{ for(int i=0;i<m;i++)
for (int j=0;j<n;j++)
p[i][j]=rand()%50;
} |