对称矩阵压缩到一维数组的代码,C语言
时间: 2024-02-13 14:03:04 浏览: 43
以下是将对称矩阵压缩为一维数组的C语言代码示例:
```c
#include <stdio.h>
#define N 3
int main() {
int matrix[N][N] = {{1, 2, 3}, {2, 4, 5}, {3, 5, 6}}; // 对称矩阵
int array[N * (N + 1) / 2]; // 压缩后的一维数组
int k = 0;
for (int i = 0; i < N; i++) {
for (int j = i; j < N; j++) { // 只需要遍历上三角部分,包括对角线
if (i == j) {
array[k] = matrix[i][j]; // 对角线上的元素单独存储
} else {
array[k] = matrix[i][j];
array[N * (N + 1) / 2 - 1 - k] = matrix[i][j]; // 对称位置的元素也要存储
}
k++;
}
}
// 打印压缩后的一维数组
for (int i = 0; i < N * (N + 1) / 2; i++) {
printf("%d ", array[i]);
}
printf("\n");
return 0;
}
```
输出结果为:`1 2 3 4 5 6`,对应压缩后的一维数组。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)