数据结构实验:压缩对称矩阵

描述
给定一个对称矩阵,我们可以将下三角阵(或上三角阵)存储于一维数组中,实现数据压缩(内存空间减半)。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

GCC
int main()
{
    int n, i, j, a[100][100];
    scanf("%d", &n);
    for(i=0;ifor(j=0;jscanf("%d", &a[i][j]);
    }
    int *b = (int*)malloc(sizeof(int)*n*(n+1)/2);
    Zip(a, n, b);
    while(scanf("%d%d", &i, &j)!=EOF)
    {
        printf("%d\n", b[Index(i, j)]);
    }
    free(b);
    return 0;
}

输入
输入第一行为正整数n(n<=100),接下来有n行,每行n个整数。

接下来有若干行,每行两个整数x,y(1<=x, y <=n),表示矩阵中的行号和列标。

直到文件结束位置。

输出
对每个x和y,输出该位置的值。

样例输入
5
2 8 1 9 6
8 6 1 9 6
1 1 5 3 2
9 9 3 5 8
6 6 2 8 2
1 2
3 3
2 2
样例输出
8
5
6