关系的性质判断(自反,对称,传递)
#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;
}
关系的性质判断(自反,对称,传递)相关推荐
- 离散数学10__第5章 关系与函数_关系的性质_自反对称传递
一 关系的定义 设A. B是任意两个集合, A x B 的子集R称为从A到B的二元关系, 简称为关系. 特别地,当A=B时, 称R为A上的关系. 如果<x, y> ∈ R,可记为xRy, ...
- 【集合论】关系性质 ( 常见的关系的性质 | 关系性质示例 | 关系运算性质 )
文章目录 一.常见的关系的性质 二.关系的性质示例 三.关系运算性质 一.常见的关系的性质 在 自然数集 N={0,1,2,⋯}N=\{ 0, 1,2, \cdots \}N={0,1,2,⋯} 上 ...
- 离散数学关系的基本运算和关系的性质闭包
文章目录 关系的运算 基本运算 关系的复合运算 关系的逆运算 关系的性质 一. 自反性和反自反性 二.对称性和反对称性 三. 传递性 关系性质的判定定理 关系的性质闭包 关系的幂运算 传递闭包的关系矩 ...
- 离散数学关系的性质_关系和关系的性质| 离散数学
离散数学关系的性质 笛卡尔积(A * B不等于B * A) (Cartesian product (A*B not equal to B*A)) Cartesian product denoted b ...
- 【考研】- 逻辑课-性质判断
逻辑判断-梳理 基础判断 判断P-有真假 原判断的负判断 复杂判断 联言判断,P且Q.口诀:全真才真,一假则假. 选言判断,P或Q.口诀:全假才假,一真则真. 推理规则:否一推一,肯一不确定 德摩根定 ...
- 输入一个数判断是否对称java_判断对称矩阵 - osc_4mawo3g6的个人空间 - OSCHINA - 中文开源技术交流社区...
我在代码题目判断对称矩阵.双重for循环第一个for没加括号导致错误,加上后就可以了. ###题目描述 输入一个N维矩阵,判断是否对称. ###输入描述: 输入第一行包括一个数:N(1<=N&l ...
- 判断矩阵对称以及计算矩阵稀疏度
计算稀疏度 稀疏度与密度,自己之前搞反了,sparsity等于所有零元素的个数除以总元素的个数,density等于所有非零元素的个数除以总元素的个数. import numpy as np impor ...
- 二元关系的关系性质判断
今天离散老师布置了一个编程作业:用代码实现关系性质的判断.然后我就结合所学知识写了写,如果哪里有不足欢迎批评指正. 自反性:∀x∈A,有<x,x>∈R. 关系矩阵特点:主对角线元素全为1. ...
- 合同相似可逆等价矩阵的关系及性质_行列式的性质问题
行列式的学习一方面要掌握计算行列式的一般方法:对性质要理解. 考点与要求: 了解:行列式的概念.方阵的乘积.行列式的性质: 掌握:行列式的性质: 会用:行列式的性质和行列式按行(列)展开定理计算行列式 ...
最新文章
- 英语是缺乏AOP的语言,汉语是具备AOP的语言。
- Vue常用指令v-show
- 解决idea中执行maven命令失败的问题
- Ubuntu搭建git服务器,外网可访问
- win2008下的无线网卡设置
- 互联网巨头基于全球产业链打造ARM CPU
- tabcontrol选项卡颜色把文字覆盖了_文字拆分神器,这3个PPT插件满足你的所有需求...
- C#中的委托与事件 笔记
- 60多年来计算机是根据什么的发展,计算机复习题98197.doc
- 通过Spring Boot中的手动Bean定义提高启动性能
- Modelsim下载安装【Verilog】
- 一款简单的取色器:ObtainColor拾色器
- java 掩码 iP与位数的转化
- 外汇EA之马丁格尔EA
- linux用户登陆报错Resource temporarily unavailable
- pandas 如何把时间转成index_pandas 时间格式转换的实现
- vs2015不使用方向键移动光标快捷键
- 视口锁定解锁lisp_求一个cad 图层锁定和解锁的lisp命令?
- Etherscan以太坊浏览器中Input Data解析方法
- matlab三维数组