在C++编程中,两个矩阵相乘,用子函数写

在C++编程中,两个矩阵相乘,用子函数写
2024-12-15 17:23:33
推荐回答(2个)
回答1:

用结构体重载运算符把:

struct maxtrix{
ll s[5][5];
int l;
maxtrix()
{
memset(s,0,sizeof(s));
}
maxtrix(int x)
{
l=x;
memset(s,0,sizeof(s));
for(int i=0;i s[i][i]=1LL;
}
void read(int k)
{
l=k;
for(int i=0;i for(int j=0;j cin>>s[i][j];
}
maxtrix operator*(const maxtrix &r)
{
maxtrix ret;
ret.l=l;
for(int i=0;i for(int j=0;j for(int k=0;k (ret.s[i][j]+=s[i][k]*r.s[k][j])%=mod;
return ret;
}
maxtrix &operator*=(const maxtrix &r)
{
*this=*this*r;
return *this;
}
void print()
{
for(int i=0;i {
for(int j=0;j cout< cout< }
}
};

回答2:

就是二维数组的相乘