离散数学实验:关系闭包的计算(C语言) 您所在的位置:网站首页 矩阵运算c语言代码 离散数学实验:关系闭包的计算(C语言)

离散数学实验:关系闭包的计算(C语言)

2023-10-30 04:48| 来源: 网络整理| 查看: 265

一、实验目的

熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。

二、实验内容

Warshall算法:设R是n个元素集合上的二元关系,M是R的关系矩阵; (1) 置新矩阵A:=M (2) 置i:=1; (3) for j=1 to n do if A[j,i]=1 then do for k=1 to n do A[j,k]:=A[j,k]+A[i,k] (4) i=i+1; (5) if i for (int i = 0;i printf("%d ", a[i][j]); } printf("\n"); } } void Input() { printf("请输入该关系矩阵的阶数(小于等于100):\n"); scanf("%d", &n); if (n 100) { printf("非法输入!\n"); exit(0); } printf("请输入关系矩阵:\n"); for (int i = 0;i scanf("%d", &matrix[i][j]); if (matrix[i][j] > 1 || matrix[i][j] int a[100][100]; for (int i = 0;i a[i][j] = matrix[i][j]; } } for (int i = 0;i int a[100][100]; for (int i = 0;i a[i][j] = matrix[i][j]; } } for (int i = 0;i if (a[i][j] == 1) //如果第i行第j列元素是1,那让第j行第i列的元素也为1 a[j][i] = 1; } } printf("对称闭包是:\n"); Display(a); } void TClosure() { int a[100][100]; for (int i = 0;i a[i][j] = matrix[i][j]; } } int i, j, k; for (i = 0;i if (a[j][i] >= 1) { for (k = 0;k for (j = 0;j



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有