麻烦看看哪里有问题,关于矩阵相加的程序
int AddSMatrix(TSMatrix &M,TSMatrix &N,TSMatrix &Q)//矩阵相加{
int i=1,j=1,k=1;
Q.data[k].i=M.data[i].i;
Q.data[k].j=M.data[i].j;
while(i<M.tu&&j<N.tu)
{
if(M.data[i].i==N.data[i].i&&M.data[j].j==N.data[j].j)
{
Q.data[k]=M.data[i];
Q.data[k].e+=N.data[j].e;
i++;
j++;
if(Q.data[k].e!=0)k++;
return OK;
}
else
{
if(M.data[i].i<N.data[i].i||(N.data[i].i==M.data[i].i&&M.data[j].j<N.data[j].j))
{
Q.data[k]=M.data[i];
i++;
k++;
return OK;
}
else
{
Q.data[k]=N.data[j];
j++;
k++;
return OK;
}
}
}
while(i<M.tu)
{
Q.data[k]=M.data[i];
j++;
k++;
}
while(j<N.tu)
{
Q.data[k]=N.data[j];
i++;
k++;
}
Q.tu=k;
return OK;
}