matrix m(p.rows,p.cols);
if (p.rows!=q.rows || p.cols!=q.cols)
return m;
for (int r=1;r<=p.rows;r++)
for (int c=1;c<=p.cols;++c)
m.setelem(r,c,p(r,c)+q(r,c));
return m;
}
matrix operator -(matrix p,matrix q)
{
matrix m(p.rows,p.cols);
if (p.rows!=q.rows || p.cols!=q.cols)
return m;
for (int r=1;r<=p.rows;r++)
for (int c=1;c<=p.cols;c++)
m.setelem(r,c,p(r,c)-q(r,c));
return m;
}
matrix operator *(matrix p,matrix q)
{
matrix m(p.rows,q.cols);
if (p.cols!=q.rows)
return m;
for (int r=1;r<=p.rows;r++)
for (int c=1;c<=q.cols;c++)
{
int s=0;
for (int i=1;i<=p.cols;i++)
s+=p(r,i)*q(i,c);
m.setelem(r,c,s);
}
return m;
}
void matrix::disp()
{
for (int r=1;r<=rows;++r)
{