文档介绍:实验报告
实验□期:
学号:
姓名:
实验名称:
关系矩阵与关系的复合
总分:
代码:
iiiclude<iostieam>
iiiclude<stiing>usingnamespacestd;
clas实验报告
实验□期:
学号:
姓名:
实验名称:
关系矩阵与关系的复合
总分:
代码:
iiiclude<iostieam>
iiiclude<stiing>usingnamespacestd;
classRelation_matiix
{
private:
stiiiigjihel;//集合intjilie;//用来保存集合A的大小chaiguanxil[20][2];//关系一intgl;
charguanxi2[20][2];//关系二
mtg2;
public:
Relation_niatnx(strmga,)〃构造函数
f
i
jihel=setstriiig(a);
jilie=setmt(jiliel);
setstrmg1(setstriiig(b));
setstiing2(setstimg(c));
}
stimgsetstring(strmga)//字符串设置函数
f
i
mtk=0;
stringsave=H“;
for(iiiti=O:a[i]!=O;i++)
if((a[i]>=,a,&&a[i]v=N)||(a[i]>=A)&&(a[i]<=,Z,))
save[k]=a[i];k++;
save[k]=,\O,;
returnsave;
}
intsetmt(stimga)〃读取字符串的长度
{
mtt=0;
for(iiiti=O:a[i]!=O;i++)
卄t;
returnt;
}
voidsetstimg1(stringa)〃设置关系一
{
mtk=0;
for(iiiti=0:a[i]!=0;i+=2)
{
guaiixi1[k][0]=a[i];
guanxi1[k][1]=a[i+1];
k++;
}
gl=k;
}
voidsetstimg2(strmga)〃设置关系二
{
mtk=0;
for(iiiti=0:a[i]!=0;i+=2)
{
guanxi2[k][0]=a[i];
guaiixi2[k][l]=a[i+l];
k++;
}
g2=k;
}
voidguaiixijuzQ//关系一的关系矩阵
{
mtnum[10][10];
for(mti=0;i<10;i++)
for(mtj=0;j<10j++)num[i][j]=0;
num[set(guaiixil[1][0])][set(guanxil[i][l])]=l;fbr(i=O;i<jilie;i++)
cout«H
}
coutvvmim[i]Ij]v<z;
cout«endl;
}
voidguanxifuhel()//关系的复合
{
chainum[20][2];//保存关系的二元数组
=0;
for(inti=0;i<gl;i++)
for(mtj=0;j<g2j++)