SHAOXIAOJ正在加载中...

1667: 数组-对称矩阵压缩存储为一维数组

金币值:2 定数:8 时间限制:1.000 s 内存限制:128 M
正确:18 提交:26 正确率:69.23% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 数据结构-串与数组

题目描述

输入一个整数n(n<=10),再输入n阶对称矩阵,依据其对称特性,仅将其下三角的数值按行优先的方式存储到一维数组中,实现对称矩阵压缩存储。

输入格式

第一行输入一个整数n 接下来的n行每行输入n个整数,表示一个n阶对称矩阵

输出格式

输出对称矩阵压缩存储后的一维数组。

输入样例    复制

3
1 2 3
2 5 8
3 8 9

输出样例    复制

1 2 5 3 8 9

提示

#include <stdio.h>
#define  maxsize  10
int zhuan(int i,int j,int n);
int main(void) {
	int a[maxsize][maxsize],b[100];
	int n,i,j;

	scanf("%d",&n);
	for(i=0; i<n; i++) {
		for(j=0; j<n; j++) {
			scanf("%d",&a[i][j]);
		}
	}

	for(i=0; i<n; i++) {
		for(j=0; j<=i; j++) {
			int k=zhuan(i,j,n);
			b[k]=a[i][j];
		}
	}

	for(i=0; i<n*(n+1)/2; i++) {
		printf("%d ",b[i]);
	}

	return 0;
}
// 仅需要提供以下代码
int zhuan(int i,int j,int n) {
	
}