⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oper.h

📁 经典矩阵运算问题求解
💻 H
字号:
Status add(TSMatrix M,TSMatrix N)
{        for(int m=0;m<MAX;m++)
	   for(int n=0;n<MAX;n++)
		   a[m][n]=0;
	if (M.nu!=N.nu || M.mu!=N.mu)
	return ERROR;
      for(int p=1;p<=M.tu;p++)
	    a[M.data[p].i][M.data[p].j]=M.data[p].e;
	  for(int q=1;q<=N.tu;q++)
	    a[N.data[q].i][N.data[q].j]+=N.data[q].e;
	  flag=1;
	  return OK;
}

Status sub(TSMatrix M,TSMatrix N)
{
	 for(int m=0;m<MAX;m++)
	   for(int n=0;n<MAX;n++)
		   a[m][n]=0;
	if (M.nu!=N.nu || M.mu!=N.mu)
	return ERROR;
      for(int p=1;p<=M.tu;p++)
	    a[M.data[p].i][M.data[p].j]=M.data[p].e;
	  for(int q=1;q<=N.tu;q++)
	    a[N.data[q].i][N.data[q].j]-=N.data[q].e;
	  flag=1;
	  return OK;
}

void makerpos(TSMatrix &M)
{ if(M.tu)
{for(int col=1;col<=M.mu;++col)
      M.num[col]=0;
 for(int t=1;t<=M.tu;++t)
	 ++M.num[M.data[t].i];
 M.cpot[1]=1;
 for(col=2;col<=M.mu;++col)
 {M.cpot[col]=M.cpot[col-1]+M.num[col-1];}
}
}

Status mul(TSMatrix M,TSMatrix N)
{int tp,p,t,mrow,nrow,ccol,q;
 if(M.nu!=N.mu) return ERROR;
  for(int m=0;m<MAX;m++)
	   for(int n=0;n<MAX;n++)
		   a[m][n]=0;
 if(M.tu*N.tu!=0)
	for(mrow=1;mrow<=M.mu;++mrow)
	 {if(mrow<M.mu)
	      tp=M.cpot[mrow+1];
	 else
	      tp=M.tu+1;
	 for(p=M.cpot[mrow];p<tp;++p)
	 {nrow=M.data[p].j;
	  if(nrow<N.mu)
		  t=N.cpot[nrow+1];
	  else
		  t=N.tu+1;
	  for(q=N.cpot[nrow];q<t;++q)
	  {ccol=N.data[q].j;
	   a[mrow][ccol]+=M.data[p].e*N.data[q].e;
	  }
	 }
	 }
	  flag=1;
	return OK;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -