主题:一道简单的关于三元组转置的问题
void transpose(smaxix A,smaxix B)
{
int m,n,p,q,t,col;
m=A[0][0];n=A[0][1];t=A[0][2]; //m为A的行数,n为列数,t为非0元素个数
B[0][0]=n;B[0][1]=m;B[0][2]=t;
if(t>0)
{
q=1;
for(col=0;col<n;col++) //按列转置
for(p=1;p<=t;p++)
if(A[p][1]==col)
{
B[q][0]=A[p][1];
B[q][1]=A[p][0];
B[q][2]=A[p][2];
q++;
}
}
}
麻烦哪位帮我看看道程序是如何完成三元组的转置的哦,详细说下那个if语句的功能。
{
int m,n,p,q,t,col;
m=A[0][0];n=A[0][1];t=A[0][2]; //m为A的行数,n为列数,t为非0元素个数
B[0][0]=n;B[0][1]=m;B[0][2]=t;
if(t>0)
{
q=1;
for(col=0;col<n;col++) //按列转置
for(p=1;p<=t;p++)
if(A[p][1]==col)
{
B[q][0]=A[p][1];
B[q][1]=A[p][0];
B[q][2]=A[p][2];
q++;
}
}
}
麻烦哪位帮我看看道程序是如何完成三元组的转置的哦,详细说下那个if语句的功能。