B=zeros(a)
flag=0
while
flag==0
for
i=
1:
a
for
j=
1:
a
for
k=1:a
B(
i
,
j
)
=
max(min(
R(
i
,
k)
,
R(
k,
j)
)
,
B(
i
,
j
)
)
%R与昌侍R内积,先取小再取誉迅洞大
end
end
end
if
B==R
flag=1
else
R=B%循环计算R传递闭包庆枯
end
end
程序运行通过,很好用
#include<iostream>#include<memory>using namespace stdint main() { int r[101][101]int a=0,b=0,c=0,n=0cout<<"请输入关系矩阵的阶数"<<带郑endlcin>>nfor (a=1a<=na++) { cout<<"请输入悔指矩阵的第"<<a<<"行蠢前颂,中间一空格隔开."<<endlfor (b=1b<=nb++) cin>>r[a][b]} cout<<endl<<"原矩阵为"<<endlfor (a=1a<=na++) { for (b=1b<=nb++) cout<<r[a][b]<<" "cout<<endl} //以上输入矩阵完成 bool _finish=0for() { _finish=0for(a=1a<=na++) for(b=1b<=nb++) for(c=1c<=nc++) if ((r[a][b]==1)&&(r[b][c]==1)&&r[a][c]==0) { r[a][c]=1_finish=1} if (_finish ==0) break} cout<<endl<<"t(r)的关系矩阵为"<<endlfor(a=1a<=na++) { for(b=1b<=nb++) cout<<r[a][b]<<" "cout<<endl} return 0}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)