#incluce"matrix.h"
#include<iostream>
using namespace std;
//输入矩阵
void getMat(int row,int col,int**p){
cout<<"请输入矩阵:"<<endl;
for(int i=0;i<row;i++)
for(int j=0;j<col;j++)
cin>>p[i][j];
}
//Warshall算法
#include"warshall.h"
#include"matrix.h"
#include<iostream>
using namespace std;
void Warshall(int row,int col,int **p){
for(int j=0;j<col;j++){
for(int i=0;i<row;i++){
if(p[i][j]==1){
for(int k=0;k<col;k++)
p[i][k]=(p[i][k])|(p[j][k]);
}
}
}
}
void get_Tr(int row,int col,int**p){
Warshall(row,col,p);
cout<<"其t(R)为:"<<endl;
for(int i=0;i<row;i++){
for(int j=0;j<col;j++)
cout<<p[i][j]<<'\t';
cout<<endl;
}
}
//判断图是否连通
void Connection(int row,int col,int **p){
getMat(row,col,p);
get_Tr(row,col,p);
int sum=0;
for(int i=0;i<row;i++)
for(int j=0;j<col;j++){
if(p[i][j]!=1)
sum++;
}
if(sum>0)
cout<<"该图不是连通图"<<endl;
else
cout<<"该图是连通的"<<endl;
}
int main(){
。。。。。。
Conection(row,col,p);
。。。。。。
}
|