用C++如何编出关系的传递闭包,其中一段的程序我已给出,各位高手帮帮忙啊谢谢了,大神帮忙啊

以下是在下编的代码,本人只是初学者,还望指点。 #include<iostream.h> int main() { int m,n; int i,j,k,l,s=0; int (*a)[2]; int (*b)[2]; int (*c)[2]; int (*d)[2]; //定义两个关系 cout<<"请输入第一个关系的元素的个数。"<<endl; cin>>m; a=new int[m][2]; cout<<"请输入这些关系元素的具体值。"<<endl; for(i=0;i<m;i++) {for(k=0;k<2;k++) {cin>>a[i][k]; } } cout<<"你输入的关系为:"<<endl; cout<<"{ "; for(i=0;i<m;i++) { cout<<" <"; for(k=0;k<2;k++) {cout<<" "<<a[i][k]<<" , "; } cout<<"> "; } cout<<" }"; cout<<"请输入第二个关系的元素的个数。"<<endl; cin>>n; b=new int[n][2]; cout<<"请输入这些关系元素的具体值。"<<endl; for(j=0;j<n;j++) {for(l=0;l<2;l++) {cin>>b[j][l]; } } cout<<"你输入的关系为:"<<endl; cout<<"{ "; for(j=0;j<n;j++) { cout<<" <"; for(l=0;l<2;l++) {cout<<" "<<b[j][l]<<" , "; } cout<<"> "; } cout<<" }"<<endl;

#include<iostream> #include<memory> using namespace std; int main() { int r[101][101]; int a=0,b=0,c=0,n=0; cout<<"请输入关系矩阵的阶数"<<endl; cin>>n; for (a=1;a<=n;a++) { cout<<"请输入矩阵的第"<<a<<"行,中间一空格隔开."<<endl; for (b=1;b<=n;b++) cin>>r[a][b]; } cout<<endl<<"原矩阵为"<<endl; for (a=1;a<=n;a++) { for (b=1;b<=n;b++) cout<<r[a][b]<<" "; cout<<endl; } //以上输入矩阵完成 bool _finish=0; for(;;) { _finish=0; for(a=1;a<=n;a++) for(b=1;b<=n;b++) for(c=1;c<=n;c++) 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)的关系矩阵为"<<endl; for(a=1;a<=n;a++) { for(b=1;b<=n;b++) cout<<r[a][b]<<" "; cout<<endl; } return 0; }
温馨提示:答案为网友推荐,仅供参考
相似回答