#include<iostream>
using namespace std;
const int N = 5;
int main(){
int A[N][N], SA[N*(N+1)/2] = {0};
int i, j ;
for(i = 0; i < N; i++)
for(j = 0; j <= i; j++)
A[i][j] = A[j][i] = i+j ; //矩阵生成
for(i = 0; i < N; i++) { //输出矩阵
for( j = 0; j < N; j++)
cout << A[i][j] << " " ;
cout << endl;
}
for(i = 0; i < N; i++) //矩阵压缩
for(j = 0; j <= i; j++)
SA[i*(i-1)/2+j] = A[i][j];
cout << "请输入行号和列号:";
cin >> i >> j;
cout << i << "行" << j << "列的元素是:";
if(i >= j ) //矩阵元素查询
cout << SA[i*(i-1)/2+j] << endl;
else
cout << SA[j*(j-1)/2+i] << endl;
return 0;
}
对称矩阵的压缩存储实验
最新推荐文章于 2021-11-16 21:17:42 发布