邻接矩阵和关联矩阵,离散数学可达矩阵怎么求

邻接矩阵可旋转矩阵# include ‘ stdio.h ‘ # define row4# define col4inta [ row ] [ col ]={0}; //相邻矩阵int P[ROW][COL]={ 0 }; //可达矩阵int tmp[ROW][COL]={ 0 }; //临时存储数据的矩阵int plus[ROW][COL]={ 0 }; //保存矩阵相加后的结果voidinitainta[row][col] ) {int flag=1,temp; 请输入printf ‘有向图相邻矩阵中的数据范围0,1,2 ) :n ) ); forintI=0; i ROW; I ) forintj=0; j COL; j ) ) {flag=1; whileflag ) ) printf’%d行%d列”,i 1,j 1 ); scanf’%d ‘,temp ); if 时间!=0 temp!=1 temp!=2)请重新输入printf ‘ 0,1,2 n )的数字; }else{A[i][j]=temp; flag=0; }}}}voidshowintarr[row][col] ) {printf ) 输出矩阵:n ) ); forintI=0; i ROW; I ) forintj=0; j COL; j ) printf’%d ‘,arr[i][j]; }printfn ); }voidmultintrow,int col,int rank )//首先tmpfor的元素) intI=0; i row; I ) forintj=0; j col; j{tmp[I][j]=a[I][j] ); //首先将a的元素代入plus for inti=0; i row; I ) forintj=0; j col; j{plus[I][j]=a[I][j] ); }forintr=1; r rank; r ) /矩阵乘法for ) intI=0; i row; I ) forintj=0; j col; j{tmp[I][j]=tmp[I][j]*a[j][I] ); //矩阵加法运算forintI=0; i ROW; I ) forintj=0; j COL; j { plus [ I ] [ j ]=plus [ I ] [ j ] tmp [ I ] [ j ] ); }}}}int main ) inita ) ) a; showa ); //打印数组中的元素mult row、COL、4-1 ); //矩阵乘法showplus; forintI=0; i ROW; I ) forintj=0; j COL; j ) if ) plus[I][j]!=0) {plus[i][j]=1; if ) I==j ) ) {plus[i][j]=1; }}}printf 可达矩阵为n ) ); showplus; 返回0; }

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注