求nxn的对称矩阵A、B的积,并存放到C数组中(A,B为压缩存储结构)
void matrixmult(int a[], int b[], int c[][20]){
int i,j,k;
int s;
for(i=0; i< n; i++)
for(j=0; j<n; j++){
s = 0;
for(k=0; k<n; k++){
if(k>i)
l1 = k*(k+1)/2 +i -1; //求出(k,i)在压缩存储中的索引位置;
else
l1 = i*(i+1)/2 +k -1;
if(k>j)
l2 = k*(k+1)/2 +j -1;//求出(k,j)在压缩存储中的索引位置;
else
l2 = j*(j+1)/2 +k -1;
s = s+a[l1]*b[l2];
}
c[i][j] = s;
}
}