用C语言实现离散数学中对矩阵的简单操作及对矩阵的判断

判断是否输入的矩阵是否为方阵,在是方阵的基础上判断是否具有对称性,反对称性和自反性。

对称矩阵:一个方形矩阵,其转置矩阵和自身相等。
对称矩阵是指以主对角线为对称轴,各元素对应相等的矩阵。用线性代数书上的解释是:对称矩阵是一个方形矩阵,其转置矩阵和自身相等。

反对称矩阵:反对称矩阵,它的主对角线上的元素全为零,而位于主对角线两侧对称的元素反号。线性代数书上解释为:

自反性:关系矩阵的主对角线上元素值全部为1
反自反性:关系矩阵的主对角线上元素全部为0

C语言代码实现如下:

#include<stdio.h>
#define MAXSIZE 100void Interrupt(void)//创建一个中断函数
{while(1)//用于检测换行符,使函数脱离scanf的连续输出 if(getchar()=='\n')break;
} int CreateMatrix(int &m,int &n,int a[MAXSIZE][MAXSIZE])
{int i,j;printf("请输入矩阵的行数");scanf("%d",&m);Interrupt();printf("请输入矩阵的列数");scanf("%d",&n);Interrupt();for(i=0;i<n;i++){for(j=0;j<m;j++){printf("请输入矩阵关系中第%d行第%d列的数字:",i,j);scanf("%d",&a[i][j]);Interrupt();}}printf("关系矩阵M为:\n");for(i=0;i<n;i++){for(j=0;j<m;j++)printf("%d ",a[i][j]);printf("\n");}if(m != n){printf("不是方阵,不能进行操作!\n");return 0;} return 1;
}void Symmetry(int m,int n,int a[MAXSIZE][MAXSIZE])
{int i,j,c,b,d;c=0;d=0;b=0;d=1;for(i=0;i<n;i++){for(j=0;j<m;j++){if(a[i][j]!=a[j][i]){c=1;break;}}}if( c == 0 ) printf("该矩阵是对称性的\n");elseprintf("该矩阵不是对称性的\n");
}
void AntiSymmetric(int m,int n,int a[MAXSIZE][MAXSIZE])
{int i,j,c,b,d;c=0;d=0;b=0;d=1;for(i=0;i<n;i++){if(a[i][i]!=0){c=1;break;}}if(c == 0) for(i=0;i<n;i++){for(j=0;j<m;j++){if(i == j)continue;if(a[i][j] != -a[j][i]){c=2;break;}}}if( c == 0 ) printf("该矩阵是反对称性的\n");elseprintf("该矩阵不是反对称性的\n");
}
void Reflexivity(int m,int n,int a[MAXSIZE][MAXSIZE])
{int i,j,c;c=0;for(i=0;i<n;i++){if(a[i][i]!=0){c=1;break;}}if(c==0) printf("该矩阵是自反性的\n");else {for(i=0;i<n;i++){if(a[i][i]!=1){c=2;break;}}if(c==1) printf("该矩阵是反自反性的\n");elseprintf("该矩阵既不是自反性的也不是反自反性的\n");}
}int main()
{int a[MAXSIZE][MAXSIZE];int m, //行数 n,//列数 d;//循环条件 printf("欢迎使用关系性质的判断系统\n\n 1. 对称关系的判断  2. 反对称关系的判断  3. 自反关系的判断\n\n请输入选项:");d = CreateMatrix(m,n,a);while(d){printf("请选择: ") ;scanf("%d",&d);Interrupt();switch(d){case 1: Symmetry(m,n,a);break;case 2: AntiSymmetric(m,n,a);break;case 3: Reflexivity(m,n,a);break;case 0: break;}printf("\n");printf("是否还继续?   是请输入1,否请输入0:");scanf("%d",&d);Interrupt();printf("\n\n");}
}

(完)

矩阵的对称性,自反性和反对称性的判断相关推荐

  1. 【集合论】关系性质 ( 对称性 | 对称性示例 | 对称性相关定理 | 反对称性 | 反对称性示例 | 反对称性定理 )

    文章目录 一.对称性 二.对称性示例 三.对称性定理 四.反对称性 五.反对称性示例 六.反对称性定理 七.对称性与反对称性示例 一.对称性 对称性 描述 : R⊆A×AR \subseteq A \ ...

  2. 判定一个数组矩阵的对称性

    埃米特证明了别的数学家发现的一些矩阵类的特征根的特殊性质,如现在称为埃米特矩阵的特征根性质等.后来,克莱伯施.布克海姆等证明了对称矩阵的特征根性质.泰伯引入矩阵的迹的概念并给出了一些有关的结论.所谓矩 ...

  3. symmetric funtion and antisymmetric function(对称性函数和反对称性函数)

    symmetric funtion and antisymmetric function antisymmetric function symmetric funtion 附录 今天看资料的时候遇到了 ...

  4. 用C++来实现关系矩阵的性质(自反性、反自反性、对称性、反对称性、)的判断

    实验题目:编程实现关系性质的判断 1.自反性:主对角线元素全为1 2.反自反性:主对角线元素全为0 3.对称性:矩阵为对称矩阵 4.反对称性:如果a[i][j] = 1,且i != j,则a[j][i ...

  5. 离散数学---判断矩阵:自反性,反自反性,对称性得到矩阵的自反闭包,对称闭包。

    目录 1-自反性,反自反性,对称性 2--矩阵的自反闭包,对称闭包 1-自反性,反自反性,对称性 题目:从键盘输入集合A的元素值,键盘输入A到A 关系矩阵M. 判断该关系矩阵M是否具有 (1)自反性. ...

  6. yaahp使用教程_4 判断矩阵

    4 判断矩阵 层次模型正确后,可以切换到判断矩阵输入页面,如图: 4.1 层次结构树 4.1.1 层次结构树上的要素 窗口左下方的层次结构树列出了模型中的所有要素,需要输入判断矩阵的要素为蓝色文字,备 ...

  7. 线性代数 --- 如何判断矩阵是否可逆(奇异与非奇异)?

    如何判断矩阵是否可逆? 一般情况而言,判断矩阵是否可逆大多数人都会选择计算矩阵的行列式(determinant)?如果矩阵的行列式为0,则判断该矩阵为奇异矩阵(singular matrix),即不可 ...

  8. 【1.2】 评价类模型之层次分析法中判断矩阵的填写方法、一致性检验的步骤、以及根据判断矩阵计算权重的方法

    目录: 准则层判断矩阵怎么填写 方案层判断矩阵怎么填写 关于判断矩阵和一致矩阵的知识点补充 一致性检验的步骤 怎样通过判断矩阵去计算权重(三种方法),及相应的代码示例 准则层判断矩阵的填写: 填写准则 ...

  9. 【如何快速判断矩阵是否相似对角化】

    快速判断矩阵是否可以相似对角化 关于如何快速判断矩阵是否可以相似对角化的方法 `第一步:看是不是实对称矩阵,如果是实对称矩阵,立即推可相似对角化,如果不是实对称矩阵,看第二步''第二步,求方阵的n个特 ...

  10. 矩阵论(五):矩阵的正定性

    矩阵论专栏:专栏(文章按照顺序排序) 矩阵的正定性是矩阵理论的基础,在机器学习的很多算法中都有它的身影.正定矩阵是很基础的工具,当涉及到诸如协方差矩阵.海森矩阵.不等式时就可能会用到正定性.另外,控制 ...

最新文章

  1. oracle dg状态查询,oracle dg状态检查及相关命令
  2. B02_NumPy数据属性(ndarray.ndim,ndarray.shape,ndarray.itemsize,ndarray.flags)
  3. JS中window.showModalDialog()详解
  4. 就业阶段-java语言进价_day04
  5. ofb模式_密码学中的输出反馈模式(OFB)
  6. python 多进程 内存增长_python 多进程 内存 copy-on-write
  7. 总结几种简单实用的数据恢复技巧
  8. 140.单词拆分II
  9. java 添加jbutton_在java中怎样在JLabel上添加JButton呢
  10. app小程序手机端Python爬虫实战11实现自动化登录考研帮app并滑动资讯信息
  11. 快速入门nebula graph
  12. php判断是否是节假日,C#编程之C#判断是否是节假日
  13. 一分钟600字,Python实现打字网站作弊并过检测
  14. CC2530基础实验:(2)外部中断控制LED亮灭
  15. Bootstrap3 与Bootstrap4垂直水平居中
  16. Metasploit终端下的辅助扫描工具 (auxiliary模块讲解)
  17. RIPv1 RIPv2
  18. 在自己的app中打开淘宝
  19. 亚马逊fire充不上电_如何在Amazon Fire Tablet或Fire HD 8上安装Google Play商店
  20. 科创板|柏楚电子股价止跌回升 已重回200元之上

热门文章

  1. java全能速查宝典_MATLAB函数全能速查宝典 邓薇等 编著.pdf
  2. 【快应用】十大手机厂商共推快应用标准
  3. 考研复试常见问题(数据库系统概论篇)
  4. java 判断星期几_Java中如何判断某天是星期几
  5. 1.交易开拓者-基础入门知识介绍
  6. ubuntu如何看到隐藏文件夹
  7. 利用selenium获取接口数据
  8. EXCEL如何生成不重复的随机数 ,多方法+原理
  9. 数据库——关系数据库规范化习题
  10. 解决raise OSError(“Truncated File Read“)OSError: Truncated File Read