#include<stdio.h>
#include<string.h>
int u[10][10];
int main(){
int i,j=0,k,e;
char m[30],c[10],x[20];
/**********集合A的输入,去掉A中的符号***********/
printf("请输入集合A ( 必须以'}'结束 )\n");
scanf("%s",m);
for(i=0;i<strlen(m);i++){
if((m[i]!='{')&&(m[i]!=',')&&m[i]!='}')
{
c[j]=m[i];
j++;
}
if(m[i]=='}')break;
}
e=j;
/**********关系R的输入,去掉R中的符号***********/
j=0;
printf("请输入关系R ( 必须以'}'结束 )\n");
scanf("%s",m);
for(i=0;i<strlen(m);i++){
if((m[i]!='{')&&(m[i]!=',')&&m[i]!='}'&&m[i]!='<'&&m[i]!='>')
{
x[j]=m[i];
j++;
}
if(m[i]=='}')
{
x[j]='\0';
break;
}
}
/*************为关系构建矩阵***************/
for(i=0;i<strlen(x);i+=2)
for(j=0;j<e;j++)
for(k=0;k<e;k++)
{
if((x[i])==c[j]&&(x[i+1]==c[k]))
u[j][k]=1;
}
/*************输出关系R的矩阵**************/
        printf("R的关系矩阵:\n");
for(i=0;i<e;i++) {
for(j=0;j<e;j++) 
printf("%d",u[i][j] );
printf("\n");
}
/***************自反性判断******************/
for(i=0;i<e;i++) {
if(u[i][i]!=1)break;
if(i==e-1)printf("关系A是自反的\n");
}

for(i=0;i<e;i++) {
if(u[i][i]==1)break; 
if(i==e-1) printf("关系A是反自反的\n");
}
/****************对称性判断****************/
for(i=0;i<e;i++) 
for(j=0;j<e;j++) 
{
if(i==e-1) {
printf("关系A是对称的\n");
goto exit0;
}
if(u[i][j]==0&&u[j][i]==1) goto exit0;
}
exit0:;

for(i=0;i<e;i++) 
for(j=0;j<e;j++) 
{
if(u[i][j]==1&&u[j][i]==1)
if(i!=j)
goto exit1;

if(i>=e/2+1) {
printf("关系A是反对称的\n");
goto exit1;
}
}
exit1:;
/*************传递性判断*****************/
for(i=0;i<e;i++) 
for(j=0;j<e;j++)  
for(k=0;k<e;k++) 
{
if(u[i][j]==1&&u[j][k]==1)
if(u[i][k]!=1)
goto exit2;

if(i==e-1) {
printf("关系A是传递的\n");
goto exit2; 
}

exit2:return 0;
}

关系的性质判断(自反,对称,传递)相关推荐

  1. 离散数学10__第5章 关系与函数_关系的性质_自反对称传递

    一 关系的定义 设A. B是任意两个集合, A x B 的子集R称为从A到B的二元关系, 简称为关系. 特别地,当A=B时, 称R为A上的关系. 如果<x, y> ∈ R,可记为xRy, ...

  2. 【集合论】关系性质 ( 常见的关系的性质 | 关系性质示例 | 关系运算性质 )

    文章目录 一.常见的关系的性质 二.关系的性质示例 三.关系运算性质 一.常见的关系的性质 在 自然数集 N={0,1,2,⋯}N=\{ 0, 1,2, \cdots \}N={0,1,2,⋯} 上 ...

  3. 离散数学关系的基本运算和关系的性质闭包

    文章目录 关系的运算 基本运算 关系的复合运算 关系的逆运算 关系的性质 一. 自反性和反自反性 二.对称性和反对称性 三. 传递性 关系性质的判定定理 关系的性质闭包 关系的幂运算 传递闭包的关系矩 ...

  4. 离散数学关系的性质_关系和关系的性质| 离散数学

    离散数学关系的性质 笛卡尔积(A * B不等于B * A) (Cartesian product (A*B not equal to B*A)) Cartesian product denoted b ...

  5. 【考研】- 逻辑课-性质判断

    逻辑判断-梳理 基础判断 判断P-有真假 原判断的负判断 复杂判断 联言判断,P且Q.口诀:全真才真,一假则假. 选言判断,P或Q.口诀:全假才假,一真则真. 推理规则:否一推一,肯一不确定 德摩根定 ...

  6. 输入一个数判断是否对称java_判断对称矩阵 - osc_4mawo3g6的个人空间 - OSCHINA - 中文开源技术交流社区...

    我在代码题目判断对称矩阵.双重for循环第一个for没加括号导致错误,加上后就可以了. ###题目描述 输入一个N维矩阵,判断是否对称. ###输入描述: 输入第一行包括一个数:N(1<=N&l ...

  7. 判断矩阵对称以及计算矩阵稀疏度

    计算稀疏度 稀疏度与密度,自己之前搞反了,sparsity等于所有零元素的个数除以总元素的个数,density等于所有非零元素的个数除以总元素的个数. import numpy as np impor ...

  8. 二元关系的关系性质判断

    今天离散老师布置了一个编程作业:用代码实现关系性质的判断.然后我就结合所学知识写了写,如果哪里有不足欢迎批评指正. 自反性:∀x∈A,有<x,x>∈R. 关系矩阵特点:主对角线元素全为1. ...

  9. 合同相似可逆等价矩阵的关系及性质_行列式的性质问题

    行列式的学习一方面要掌握计算行列式的一般方法:对性质要理解. 考点与要求: 了解:行列式的概念.方阵的乘积.行列式的性质: 掌握:行列式的性质: 会用:行列式的性质和行列式按行(列)展开定理计算行列式 ...

最新文章

  1. 英语是缺乏AOP的语言,汉语是具备AOP的语言。
  2. Vue常用指令v-show
  3. 解决idea中执行maven命令失败的问题
  4. Ubuntu搭建git服务器,外网可访问
  5. win2008下的无线网卡设置
  6. 互联网巨头基于全球产业链打造ARM CPU
  7. tabcontrol选项卡颜色把文字覆盖了_文字拆分神器,这3个PPT插件满足你的所有需求...
  8. C#中的委托与事件 笔记
  9. 60多年来计算机是根据什么的发展,计算机复习题98197.doc
  10. 通过Spring Boot中的手动Bean定义提高启动性能
  11. Modelsim下载安装【Verilog】
  12. 一款简单的取色器:ObtainColor拾色器
  13. java 掩码 iP与位数的转化
  14. 外汇EA之马丁格尔EA
  15. linux用户登陆报错Resource temporarily unavailable
  16. pandas 如何把时间转成index_pandas 时间格式转换的实现
  17. vs2015不使用方向键移动光标快捷键
  18. 视口锁定解锁lisp_求一个cad 图层锁定和解锁的lisp命令?
  19. Etherscan以太坊浏览器中Input Data解析方法
  20. matlab三维数组

热门文章

  1. 高中计算机学什么软件,高中学业水平考试的计算机上机考试考的是啥软件
  2. Flutter——Dio网络库的使用与封装
  3. R统计计算--差异性检验
  4. 中年人学C语言Windows程序设计,9 窗口绘图:直线的画法
  5. “大数据杀熟”谁之祸?
  6. lambda in查询方式
  7. DirectX 图形接口指南
  8. 色彩的全方位运用-张聪-专题视频课程
  9. Python验证注册用户名是否正确
  10. CCF2020企业非法集资风险预测-季军方案