题目描述
给定有限集合上二元关系的关系矩阵,利用传递闭包的定义式(不是warshall算法)求其传递闭包的关系矩阵。
源代码

#include<stdio.h>
#define N 100
int mult(int a[N][N],int b[N][N],int n,int c[N][N])
{int i,j,k;for(i=0;i<n;i++){for(j=0;j<n;j++){c[i][j]=0;}}//每次接收矩阵乘积前先初始化为0 for(i=0;i<n;i++)  {   for(j=0;j<n;j++)  {    for(k=0;k<n;k++)    {     c[i][j]+=a[i][k]*b[k][j];    }   }  }
}//定义实现矩阵乘法的函数
int main()
{int n,a[100][100]={0},i,j,k,b[100][100]={0},c[100][100]={0},d[100][100]={0};scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);b[i][j]=a[i][j];d[i][j]=a[i][j];}}//输入邻接矩阵,并用另一个矩阵暂时存储 for(i=0;i<n-1;i++){mult(a,b,n,c);for(j=0;j<n;j++){for(k=0;k<n;k++){b[j][k]=c[j][k];//用c来接收前两个矩阵相乘的结果,并将其储存在b中以实现求解高次矩阵 d[j][k]+=c[j][k];}}} for(i=0;i<n;i++){for(j=0;j<n;j++){if(i==j) d[i][j]=1;else if(i!=j&&d[i][j]>0){d[i][j]=1;}}}//将矩阵d转化为布尔矩阵 for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%d ",d[i][j]);}printf("\n");}
}

利用定义求解传递闭包的关系矩阵相关推荐

  1. 利用python求解规划问题

    规划问题分为两个大类:线性规划和非线性规划以及下面分支的小类,我们观看这个树状图来粗略的了解一下. 首先我们讲解最简单的线性规划模型,通常线性规划均属于凸规划,通常都是用python中的cvxpy进行 ...

  2. 利用遗传算法求解函数极值

    1.利用遗传算法求解函数极值 例1 利用遗传算法求函数 f(x) = 11sin(6x) + 7cos(5x),x∈[- π,π]的最大值点. 解:在MATLAB中编制绘制函数曲线的代码,运行得到题中 ...

  3. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  4. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  5. 动态规划在求解传递闭包问题中的应用(JAVA)--Warshell算法

    动态规划在求解传递闭包问题中的应用: 传递闭包:对于n个顶点有向图来说,如果第i个顶点到第j个顶点之间存在一条有效的有向路径(即长度大于0的路径),那么T(i, j) = 1,否则T(i, j) = ...

  6. 在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和

    在matlab中,利用for循环来生成一个矩阵,并分别对该矩阵的行和列进行求和 先创建一个新的脚本,并保存,在编辑器中进行编辑.具体如图,以5阶方阵为例: a=zeros(5,5): for i=(1 ...

  7. 四阶龙格库塔法的基本思想_利用龙格库塔法求解郎之万方程.doc

    利用龙格库塔法求解郎之万方程.doc 利用龙格-库塔法求解朗之万方程1. 待解问题布朗颗粒是非常微小的宏观颗粒,其直径的典型大小为10-710-6m.颗粒不断受到液体介质分子的碰撞,在任一瞬间,一个颗 ...

  8. 【翻译】利用加速度求解位置的算法——三轴传感器

    cposture 一个小白的技术成长之路 [翻译]利用加速度求解位置的算法--三轴传感器 http://www.cnblogs.com/cposture/p/4378922.html 摘要      ...

  9. 利用加速度求解位置的算法——三轴传感器

    转载的一篇文章,跟自己做过的一个车载项目类似,也算是标记一下吧. ---------------------------------------分割线------------------------- ...

  10. matlab求解全微分函数,利用MATLAB求解微分方程的方法探索

    引言 科学问题和工程问题经常需要求取微分方程的解,MATLAB 的强大数值运算和符号运算能力,能够方便地进行各种解析运算,是方便实用.功能强大的数学软件之一. 1线性微分方程求解 1.1线性常微分方程 ...

最新文章

  1. python基础课程_学习笔记13:标准库:有些收藏夹——sys
  2. Python输出py文件模拟代码高亮
  3. C/C++面试题精选
  4. java-第七章-数组-循环输出
  5. 详解Java反射机制
  6. python中@staticmethod_Python中的@staticmethod和@classmethod的区别
  7. java 格式化字符串_Java入门 - 语言基础 - 14.String类
  8. python脚本-fence栅栏密码
  9. win7美化_Windows桌面美化记(二)这可能是你看过最详细的美化教程
  10. 外行也看得懂!了解量子计算的奇迹
  11. 雅虎 (YAHOO)相册下载工具 Beta1 发布
  12. python pysynth随机生成中国风音乐旋律
  13. sql 连续两个月活跃的用户
  14. 云南大学计算机在职硕士,在职硕士
  15. 电视台的收视率是怎么计算的
  16. 一步一步开发Game服务器(二)登陆2
  17. 原始套接字编程——Teardrop
  18. 【嵌入式模块】FT232RL——一个带有ISP功能的USB转TTL模块
  19. windows xp下如何添加开机自启动的程序
  20. 抽象类能实例化吗?——口气很强硬——“不能”(详解)

热门文章

  1. 古代常见文学常识汇总
  2. 计算机30秒自动更换的桌面软件,无需任何软件即可在计算机上的多个桌面墙纸之间自动切换...
  3. Top Trending Libraries of 2021,PaddleOCR再开源8大前沿顶会论文模型
  4. 基于JAVA的即时通信软件
  5. PPT怎么修改母版背景
  6. 有关汉字编码、拼音输入法 大搜罗
  7. oracle数据库alter的用法,数据库中alter的用法
  8. 【优秀课设】JavaScript利用高德地图开放平台实现精准三点定位(通过距离半径,绘制多个circle)
  9. unit10-Cookie、Session
  10. JAVAWEB-NOTE03