集合的自反关系和对称关系

简介: 集合的自反关系和对称关系

一:集合的自反关系

1:原理:

从给定的关系矩阵来断判关系R是否为自反是很容易的。若M(R的关系矩阵)的主对角线元素均为1,则R是自反关系;若M(R的关系矩阵)的主对角线元素均为0,则R是反自反关系;若M(R的关系矩阵)的主对角线元素既有1又有0,则R既不是自反关系也不是反自反关系。

2:代码实现

#include <stdio.h>
//判断自反关系
int fun1(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    if (R[i][i] != 1) {
      return 0;
    }
  }
  return 1;
}
//判断反自反关系
int fun2(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    if (R[i][i] != 0) {
      return 0;
    }
  }
  return 1;
  }
  #include <stdio.h>
//判断自反关系
int fun1(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    if (R[i][i] != 1) {
      return 0;
    }
  }
  return 1;
}
//判断反自反关系
int fun2(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    if (R[i][i] != 0) {
      return 0;
    }
  }
  return 1;

二:对称关系

1:原理:

若M(R的关系矩阵)为对称矩阵,则R是对称关系;若M为反对称矩阵,则R是反对称关系。

2:代码实现

//判断对称关系
int fun3(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      if (R[i][j] != R[j][i]) {
        return 0;
      }
    }
  }
  return 1;
}
//判断反对称关系
int fun4(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      if (R[i][j] == 1 && R[j][i] == 1 && i != j) {
        return 0;
      }
    }
  }
  return 1;
}
int main() {
  int R[4][4] = { 0 };
  printf("请输入关系矩阵:\n");
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      scanf("%d", &R[i][j]);
    }
  }
   if ((fun1(R) + fun2(R))==0) {
     printf("R既不是自反关系也不是反自反关系\n");
  }
   if (fun3(R)) {
     printf("R具有对称关系\n");
   }
   if (fun4(R)) {
     printf("R具有反对称关系\n");
  }
   if (fun3(R) + fun4(R) == 2) {
     printf("R既具有对称关系又具有反对称关系\n");
   }
   if (fun3(R) + fun4(R) == 0) {
     printf("R既不具有对称关系又不具有反对称关系\n");
   }
   return 0;
}

三:总结

#include <stdio.h>
//判断自反关系
int fun1(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    if (R[i][i] != 1) {
      return 0;
    }
  }
  return 1;
}
//判断反自反关系
int fun2(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    if (R[i][i] != 0) {
      return 0;
    }
  }
  return 1;
}
//判断对称关系
int fun3(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      if (R[i][j] != R[j][i]) {
        return 0;
      }
    }
  }
  return 1;
}
//判断反对称关系
int fun4(int R[][4]) {
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      if (R[i][j] == 1 && R[j][i] == 1 && i != j) {
        return 0;
      }
    }
  }
  return 1;
}
int main() {
  int R[4][4] = { 0 };
  printf("请输入关系矩阵:\n");
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 4; j++) {
      scanf("%d", &R[i][j]);
    }
  }
  if (fun1(R)) {
    printf("R是自反关系\n");
  }
    if (fun2(R)) {
    printf("R是反自反关系\n");
  }
   if ((fun1(R) + fun2(R))==0) {
     printf("R既不是自反关系也不是反自反关系\n");
  }
   if (fun3(R)) {
     printf("R具有对称关系\n");
   }
   if (fun4(R)) {
     printf("R具有反对称关系\n");
  }
   if (fun3(R) + fun4(R) == 2) {
     printf("R既具有对称关系又具有反对称关系\n");
   }
   if (fun3(R) + fun4(R) == 0) {
     printf("R既不具有对称关系又不具有反对称关系\n");
   }
   return 0;
}

目录
相关文章
|
存储 C语言 内存技术
专为MCU项目开发提速的代码框架BabyOS
专为MCU项目开发提速的代码框架BabyOS
392 0
|
数据可视化 安全 BI
旅游客服团队协作神器究竟花落谁家?快来看!
在旅游行业的快节奏运营中,高效的团队协作与个人学习效率提升是成功的关键,尤其对于 MBTI 中偏好秩序与规划的 J 型人格而言。本文介绍了六款可视化团队协作办公软件,包括板栗看板及五款国外小众软件,助力旅游公司在冬季旅游旺季及全年业务运作中脱颖而出。这些软件通过高度可视化的任务管理、深度的团队互动与沟通、智能的数据统计与分析等功能,帮助旅游公司优化业务流程,提高团队协作效率,确保旅游产品从构思到推出的每一个环节都能有条不紊地进行。
155 2
|
关系型数据库 MySQL Java
MySQL - JDBC 连接数据库 MySQL serverTimezone useSSL 时差问题
MySQL - JDBC 连接数据库 MySQL serverTimezone useSSL 时差问题
576 0
|
机器学习/深度学习 PyTorch 算法框架/工具
【Python深度学习】深度学习框架搭建模版
首先是导入包因为使用的是pytorch框架所以倒入torch相关包,summary是可以获得自己搭建模型的参数、各层特征图大小、以及各层的参数所占内存的包作用效果如p2
【Python深度学习】深度学习框架搭建模版
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1008 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话