#include "stdio.h"
void duichen()
{
int i,j,k,n;
int L[100][100],SA[100];
printf("请输入您要压缩矩阵的行列数:");
scanf("%d",&n);
printf("请输入矩阵内元素:");
for(i=1;i<n+1;i++)
for(j=1;j<n+1;j++)
{
scanf("%d",&L[i][j]);
if(i>=j)
k=i*(i-1)/2+j-1;
else
k=j*(j-1)/2+i-1;
SA[k]=L[i][j];
}
printf("压缩存储后:");
for(k=0;k<n*(n+1)/2;k++)
printf("%d %d",k,SA[k]);
printf("请输入未压缩时所在行数:");
scanf("%d",&i);
printf("请输入未压缩时所在列数:");
scanf("%d",&j);
if(i>=j)
k=i*(i-1)/2+j-1;
else
k=j*(j-1)/2+i-1;
printf("压缩存储后的地址为:%d,值为%d",k,SA[k]);
}
main()
{
duichen();
}
评论0
最新资源