#include
#include
#define Ok 1
#define ERROR -1
#define Maxsize 100 //用户自定义三元组最大长度
#define Maxc 10
typedef int status;
typedef int sun[Maxsize];
status InitTriTupleNode(sun M,int n) {
int i;
for(i=0;i
return Ok;
}
status TransposeSMatrix(sun a,sun b,sun c,int n)
{int i,j,k,a1,b1;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{c[i*(i-1)/2+j-1]=0;
for(k=1;k<=n;k++)
{if(i>=k)a1=a[i*(i-1)/2+k-1];
else a1=a[k*(k-1)/2+i-1];
if(k>=j)b1=b[k*(k-1)/2+j-1];
else b1=b[j*(j-1)/2+k-1];
c[i*(i-1)/2+j-1]+=a1*b1;}
}
return Ok;
}
status showMatrix(sun c,int n)
{int i,j;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
{if(i>=j)printf("%d\t",c[i*(i-1)/2+j-1]);
if(i
printf("\n");}
return Ok;
}
void main( )
{int n;
sun d,f,c;
printf("ShuRuJieShu:\n");
scanf("%d",&n);
printf("ShuRu:\n");
InitTriTupleNode(d,n);
printf("ShuRu:\n");
InitTriTupleNode(f,n);
TransposeSMatrix(d,f,c,n);
showMatrix(c,n); /*转置后*/
}
请楼主认真的运行一下 希望能帮到你