好文档 - 专业文书写作范文服务资料分享网站

离散数学实验指导书

天下 分享 时间: 加入收藏 我要投稿 点赞

实验一 真值计算

一、实验目的

熟悉联结词合取、析取、条件和双条件的概念,编程求其真值。 二、实验内容

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

列出实验目的、实验内容、实验步骤、源程序和实验结果。

实验二 关系闭包计算

一、实验目的

熟悉Warshall算法,掌握求关系的自反闭包、对称闭包和传递闭包的方法。 二、实验内容

从键盘输入一个关系的关系矩阵,计算其自反闭包、对称闭包和传递闭包,计算传递闭包时使用Warshall算法。用C语言或MATLAB实现。 三、实验报告要求

列出实验目的、实验内容、实验步骤、源程序和实验结果。

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

一、实验目的

熟悉邻接矩阵和两结点间长度为m的路的数目的关系并编程计算。 二、实验内容

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

列出实验目的、实验内容、实验步骤、源程序和实验结果。

实验四 最优树的构造

一、实验目的

熟悉最优树的构造算法,掌握最优树的构造过程。 二、实验内容

从键盘输入一组权值,构造出对应的最优树,列出构造过程。用C语言或MATLAB实现。 三、实验报告要求

列出实验目的、实验内容、实验步骤、源程序和实验结果。

部分参考答案: 实验二 C++源程序

#include int num; class guanxi{ public: int jz[100][100];

void set() {

cout<<\cin>>num;

cout<<\ int i,j;

for(i=0;i>jz[i][j]; cout<<\关系剧阵是:\

for(i=0;i

}

friend void zifan(); friend void duichen();

friend void chuandi(); }; void zifan(guanxi ox)

{

int i,j; for(i=0;i

}

void duichen(guanxi ox) {

for(j=0;j

int i,j;

for(i=0;i

for(j=0;j

for(i=0;i

}

for(j=0;j

void chuandi(guanxi ox)

{

int i,j,k;

for(i=0;i

{

guanxi o1; o1.set();

cout<<\它的自反闭包是:\

zifan(o1);

cout<<\它的对称闭包是:\

duichen(o1);

cout<<\它的传递闭包是:\chuandi(o1);

}

return 0;

C源程序 #include int main() {

int i,j,k,n;

static int str[122],zifan[122],chuandi[122],duich[122]; printf(\scanf(\

printf(\ for(i=0;i

}

printf(\for(j=0;j

printf(\if((j+1)%n==0) scanf(\

printf(\}

for(j=0;j

{

zifan[j]=str[j];

chuandi[j]=str[j]; duich[j]=str[j];

}

printf(\for(i=0;i

if(i%(n+1)==0)

zifan[i]=zifan[i]||1; printf(\if((i+1)%n==0) printf(\

printf(\

for(i=0,j=0;ij*(n+1)&&i<(j+1)*n) { duich[i]=duich[(i-j*(n+1))*(n-1)+i]||duich[i];

}

for(i=0;i

printf(\if((i+1)%n==0)

printf(\ }

else if(i>=(j+1)*n) j++;

duich[(i-j*(n+1))*(n-1)+i]=duich[(i-j*(n+1))*(n-1)+i]||duich[i];

printf(\

for(i=0;i

if(chuandi[j*n+i]) {for(k=0;k

chuandi[j*n+k]=chuandi[j*n+k]||chuandi[i*n+k]; }

for(i=0;i

#include class luchang { private: int N; int **p; public: luchang(int n);

~luchang(); int input();

printf(\if((i+1)%n==0)

printf(\}

return 0;

离散数学实验指导书

实验一真值计算一、实验目的熟悉联结词合取、析取、条件和双条件的概念,编程求其真值。二、实验内容从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。用C语言或MATLAB实现。三、实验报告要求列出实验目的、实验内容、实验步骤、源程序和实验结果。实
推荐度:
点击下载文档文档为doc格式
9tqfy97wu606i7k4fy58
领取福利

微信扫码领取福利

微信扫码分享