c语言二维数组下三角为零,数据结构示例之矩阵上三角为0值、下三角非0值

以下为展示“矩阵上三角为0值、下三角非0值”的简单示例:

1. 用c语言实现的版本

#include

#include

#define n 4

int t[n*n/2];

/* 把x存为L(i,j) */

void Store(int x, int i, int j)

{

if (i<0||j<0||i>=n||j>=n)

{

printf("数组出界!");

exit(1);

}

/* 当且仅当i ≥ j 时,(i,j)位于下三角*/

if (i >= j)

{

t[i*(i+1)/2+j] = x;

}

else if (x != 0)

{

printf("(上三角)非对角线上元素值必须为零");

exit(1);

}

}

void main()

{

int i,j;

int D[n][n]={2,0,0,0,5,1,0,0,0,3,1,0,4,2,7,0};

for(i=0;i

{

for(j=0;j

{

Store(D[i][j],i,j); /* 把x存为L(i,j) */

}

}

printf("输出原始矩阵:\n");

for(i=0; i

{

for(j=0; j

{

printf("%d ",D[i][j]);

}

printf("\n");

}

printf("诸行输出矩阵下三角的值:\n");

for(i=0;i<=n*n/2+1;i++)

{

printf("%d ",t[i]);

}

printf("\n");

}

运行结果如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值