求助大神能不能帮帮忙把下面的C语言改成Python急急急,
#include<iostream>#include<vector>usingnamespacestd;/***一个类,实现基本的闭包运算*vector对象不能使用下标添...
#include<iostream>#include<vector>using namespace std;/** * 一个类, 实现基本的闭包运算 * vector对象不能使用下标添加元素。 */void display(vector<vector<int>> v){ //输出矩阵 int len=v[0].size(); for(int i=0;i<len;i++){ for(int j=0;j<len;j++){ cout.width(3); cout<<v[i][j]; } cout<<'\n'; } cout<<'\n';}class RELATION_MATRIX{public: RELATION_MATRIX(vector<vector<int>>); vector<vector<int>> get_mr();//返回自反闭包 vector<vector<int>> get_ms();//返回对称闭包 vector<vector<int>> get_mt();//返回传递闭包private: vector<vector<int>> m;//原矩阵 vector<vector<int>> mc;//逆矩阵 int len=m[0].size();};RELATION_MATRIX::RELATION_MATRIX(vector<vector<int>> v):m(v){vector<vector<int>> p_mc(len,vector<int>(len));//初始化逆矩阵vector<vector<int>> p_ix(len,vector<int>(len));//初始化单位矩阵for(int i=0;i<len;i++){ for(int j=0;j<len;j++){ p_mc[j][i]= m[i][j]; }}mc=p_mc;cout<<"origin matrix:"<<endl;display(m);};vector<vector<int>> RELATION_MATRIX::get_mr(){ //自反闭包运算 vector<vector<int>> mr(m); for(int i=0;i<len;i++){ for(int j=0;j<len;j++){ if(i==j)mr[i][j]=1; } } cout<<"Mr:"<<endl; display(mr); return mr;}vector<vector<int>> RELATION_MATRIX::get_ms(){ //对称闭包vector<vector<int>> ms(len,vector<int>()); for(int i=0;i<len;i++){ for(int j=0;j<len;j++){ if(m[i][j]==1||mc[i][j]==1){ ms[i].push_back(1); }else { ms[i].push_back(0); } } } cout<<"Ms:"<<endl; display(ms); return ms;}vector<vector<int>> RELATION_MATRIX::get_mt(){ //washall算法得传递闭包vector<vector<int>> mt(m);
展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询