#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
int *test[4],i,j,*buttom,*top;
char temp;
buttom=(int*)malloc(4*4*(4+1)/2);
top=(int*)malloc(4*(4+1)/2*4);
if(buttom==NULL||top==NULL)
return -1;
for(i=0;i<4;i++)
{
test[i]=(int*)malloc(4*4);
if(!test[i])
{
return -1;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
scanf_s("%d",test[i]+j);
temp=getchar();
}
}
printf("________________________________________________\n");
printf("您输入的为:\n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%d ",*(test[i]+j));
}
printf("\n");
}
//
//验证知识点:一维数组下标求法:
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
buttom[(i*(i+1)/2)+j]=*(test[i]+j);
top[i*(i+1)/2+j]=*(test[j]+i);
if(i==j)
break;
}
}
//下三角元素为:
printf("下三角元素为:\n");
for(i=0;i<10;i++)
{
printf("%d ",buttom[i]);
}
//上三角元素为;
printf("\n上三角元素为:\n");
for(i=0;i<10;i++)
{
printf("%d ",top[i]);
}
for(i=0;i<10;i++)
{
if(buttom[i]!=top[i])
break;
}
if(i>=10)
{
printf("\n这是一个对称矩阵\n");
for(i=0;i<4;i++)
{
printf("正在删除test[%d]\n",i);
free(test[i]);
printf("删除test[%d]成功\n",i);
}
printf("系统将为您保存下三角buttom[]数组\n");
printf("正在删除上三角top[]\n");
free(top);
printf("删除上三角top[]成功\n");
}
else
{
printf("\n这不是一个对称矩阵\n");
}
return 0;
}
22数组矩阵-对称矩阵aij的下标规律
原创
©著作权归作者所有:来自51CTO博客作者高万禄的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:23数组矩阵-三角矩阵
下一篇:21环形病毒片段找序列
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
矩阵的特征分解(推导+手算+python计算+对称矩阵的特征分解性质)
文章目录1. 前言2.矩阵的进阶知识2.1 特征分解(谱分解)=>只可以用在方阵上2.1.1
线性代数 python 机器学习 算法 矩阵 -
对称矩阵、稀疏矩阵的压缩存储
&n
稀疏矩阵 压缩存储 对称矩阵 -
对称正交 python 对称正交矩阵的定义
矩阵学习-基本矩阵分类
对称矩阵 矩阵分解