系列文章目录
前言
《数据结构基础》c语言版 第2版,Ellis Horowitz著,朱仲涛译
2.9节,page78,习题5
一、题目描述
三对角阵是除主对角线及其相邻上下两条对角线之外都是零元素的方阵,三条对角线中的元素可以按行存储在一维数组b中,a[0][0]对应b[0],编程实现在b中存取a[i][j],0<=i,j<n
二、c++代码
代码如下:
#include<iostream>
using namespace std;
const int n=4;
int a[n][n]={{5,6,0,0},{6,4,1,0},{0,1,2,7},{0,0,7,8}};
const int total = 3*n-2;
int b[total];
int main()
{
int i,j;
int k;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(abs(i-j)<=1)
{
k=2*i+j;
b[k]=a[i][j];
}
}
}
for(i=0;i<total;i++)
printf("%3d",b[i]);
return 0;
}