>p>>q;if(p=='F')p1=0;elsep1=1;if(q=" />

离散数学上机实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名:

学号:

班级:

离散数学实验报告

实验一真值计算

实验内容:

从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。用C语言实现。

实验源程序和运行结果如下:

#include ""

void main()

{

char p,q,t;

int p1,q1;

cout<<"输入p,q的真值(F或T)"<

cin>>p>>q;

if(p=='F')

p1=0;

else

p1=1;

if(q=='F')

q1=0;

else

q1=1;

.\n选择2计算对称闭包...\n选择3用R+计算传递闭包...\n选择4用washall 计算传递闭包...\n计算结束后选择0退出\n");

scanf("%d",&t);

switch(t)

{

case 1:

{

for(i=0;i

{

for(j=0;j

{

if(i==j)

I[i][j]=1;

else I[i][j]=0;

}

}

for(i=0;i

{

for(j=0;j

b[i][j]=he(a[i][j],I[i][j]),printf("%4d",b[i][j]);

printf("\n");

}

};break;

case 2:

{

for(i=0;i

{

for(j=0;j

b[j][i]=a[i][j];

}

printf("对称闭包矩阵为\n");

for(i=0;i

{

for(j=0;j

c[i][j]=he(a[i][j],b[i][j]),printf("%4d",c[i][j]);

printf("\n");

}

};break;

case 3:

{

for(i=0;i

for(j=0;j

{

c[i][j]=a[i][j];

d[i][j]=a[i][j];

b[i][j]=0;

}

for(m=0;m

{

for(i=0;i

{

for(k=0;k

{

for(j=0;j

{

b[i][k]=b[i][k]||(c[i][j]*a[j][k]);

}

}

}

for(p=0;p

{

for(q=0;q

c[p][q]=b[p][q];

}

for(p=0;p

{

for(q=0;q

{

d[p][q]=d[p][q]||b[p][q];

b[p][q]=0;

}

}

}

printf("矩阵的传递闭包为\n");

for(i=0;i

{

for(j=0;j

{

printf("%4d",d[i][j]);

}

printf("\n");

}

};break;

case 4:

{

for(j=0;j

{

for(k=0;k

{

if(a[k][j]==1)

{

for(i=0;i

a[k][i]=a[k][i]||a[j][i];

}

}

}

printf("传递闭包为\n");

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

};break;

default:printf("Error\n");

}

}

int he(int a,int b)

{

int c;

if(a==0&&b==0)

c=0;

else c=1;

return c;

}

实验三计算两结点间长度为m的路的数目

实验内容:

从键盘输入图的邻接矩阵和一正整数m,计算结点两两之间长度为m的路的数目。考虑有向图和无向图。用C语言实现。

实现可达性矩阵。

实验源程序和运行结果如下:

#include<>

void main()

{

int

a[100][100],b[100][100],c[100][100],d[100][100],i,j,k,t,p,q,n,m;

printf("请输入关系矩阵的阶数\n");

scanf("%d",&n);

printf("请输入路的长度\n");

scanf("%d",&m);

printf("请输入此关系矩阵\n");

for(i=0;i

{

for(j=0;j

{

scanf("%d",&a[i][j]);

c[i][j]=a[i][j];

d[i][j]=a[i][j];

b[i][j]=0;

}

}

for(t=0;t

{

相关文档
最新文档