离散数学之图的矩阵表示及基本运算Word格式.docx
- 文档编号:19330602
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:6
- 大小:30.32KB
离散数学之图的矩阵表示及基本运算Word格式.docx
《离散数学之图的矩阵表示及基本运算Word格式.docx》由会员分享,可在线阅读,更多相关《离散数学之图的矩阵表示及基本运算Word格式.docx(6页珍藏版)》请在冰豆网上搜索。
iostream.h>
int**g(intn)
{
int**a,i,j;
a=newint*[n];
//分配指针数组
for(i=0;
i<
n;
i++)
a[i]=newint[n];
//分配每个指针所指向的数组
for(j=0;
j<
j++)a[i][j]=0;
voidMatrixMultiple(M*a,M*b,M*m);
voidMatrixAdd(M*a,M*b);
};
voidOperators:
:
CreateMatrix2(M*x,intn,intisOrient)
x->
n=n;
isOrient=isOrient;
ele=g(x->
n);
}
CreateMatrix(M*x)
intn,isOrient;
cout<
<
"
Matrix'
sn="
;
cin>
>
Isthegraphoriented?
1=yes,0=no:
isOrient;
CreateMatrix2(x,n,isOrient);
Input(M*x)
inti,j;
while
(1)
{
cout<
Inputtheedge'
sstart-pointandend-point,-1istofinishinputing:
cin>
i>
j;
if(i==-1||j==-1)break;
x->
ele[i][j]=1;
if(!
x->
isOrient)x->
ele[j][i]=1;
}
Show(M*x)
if(x->
isOrient)
Theorientedmatrix:
"
endl;
else
Theno-orientedmatrix:
i<
i++)
j<
j++)cout<
ele[i][j]<
intOperators:
deg_out(M*x,inti)
intdeg=0;
for(intj=0;
j++)
if(x->
ele[i][j])deg++;
returndeg;
deg_in(M*x,inti)
ele[j][i])deg++;
MatrixMultiple(M*a,M*b,M*temp)
inti,j,k;
a->
b->
j++)
for(k=0;
k<
k++)
temp->
ele[i][j]+=a->
ele[i][k]*b->
ele[k][j];
b->
ele[i][j]=temp->
ele[i][j];
MatrixAdd(M*a,M*b)
inti,j;
a->
ele[i][j]+=b->
Maccessibility(M*a,M*Ma)
Mp,temp;
CreateMatrix2(&
p,a->
n,a->
isOrient);
temp,a->
MatrixAdd(&
p,a);
MatrixAdd(Ma,a);
=a->
MatrixMultiple(a,&
p,&
temp);
MatrixAdd(Ma,&
p);
Show(&
Show(Ma);
Ma->
if(Ma->
ele[i][j])Ma->
voidmain()
Operatorso;
Mx,y;
o.CreateMatrix(&
x);
o.CreateMatrix2(&
y,x.n,x.isOrient);
o.Input(&
o.Show(&
inti;
endl<
Thedeg-outforthepoints"
x.n;
o.deg_out(&
x,i)<
Thedeg-inforthepoints"
o.deg_in(&
o.Maccessibility(&
x,&
y);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 离散数学 矩阵 表示 基本 运算
![提示](https://static.bdocx.com/images/bang_tan.gif)