软件学生试验报告.doc

上传人:scccc 文档编号:12630808 上传时间:2021-12-05 格式:DOC 页数:5 大小:46.50KB
返回 下载 相关 举报
软件学生试验报告.doc_第1页
第1页 / 共5页
软件学生试验报告.doc_第2页
第2页 / 共5页
软件学生试验报告.doc_第3页
第3页 / 共5页
软件学生试验报告.doc_第4页
第4页 / 共5页
软件学生试验报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件学生试验报告.doc》由会员分享,可在线阅读,更多相关《软件学生试验报告.doc(5页珍藏版)》请在三一文库上搜索。

1、验报告学生实学 院:软件与通信工程学院课程名称:离散数学(软件)专业班级:12软件1班姓名:段谟毅学号:0123747学生实验报告(1)学生姓名段谟毅学号0123747同组人实验项目图的矩阵表示和基本运算日必修 选修演示性实验验证性实验站操作性实验 综合性实验实验地点W101实验仪器台号指导教师赵晓平实验日期及节次、实验综述1、实验目的及要求(1) 熟悉图在计算机中的矩阵表示;(2) 编写程序,根据输入的整数对,输出一个图形的邻接矩阵,并求出各结点的出度和入 度;(3) 加强对图知识的理解、应用和运用能力。实验要求:给出如下有向图D,利用邻接矩阵,编写程序计算:(1)各结点的度数;(2) D中

2、v到V4长 度为3的通路的条数;(3) D中V3到v长度为3的回路的条数。认真完成实验题,能正确运行,提交实验报告并上传程序,实验报告要求写出操作步骤、 结果、问题、解决方法、体会等。2、实验仪器、设备或软件计算机、VC+6.0 office、相关的操作系统等。二、实验过程(实验步骤、记录、数据、分析)实验原理:设 D= <V,E> 是一个线图,V =V1,V2,,Vn, E =02,en,贝 U n 阶方阵 A = (aj )n n称为D的邻接矩阵。其中:邻接矩阵具有如下特点:(1) 邻接矩阵是一个布尔矩阵;(2) 无向线图的邻接矩阵是对称的;(3) 而有向线图的邻接矩阵不一定对

3、称;禾I用邻接矩阵可以很容易的完成结点的度数计算 写明具体实施的步骤,包括实验过程中的记录、数据和相应的分析1. 先定义两个结构体,一个用来存储邻接矩阵,一个用来存储结点相关信息。#include <iostream>#defi neMAX_LENGTH 100 using namespacestd;typedef structint Matrix MAX_LENGTH MAX_LENGTH ; AdjoinMatrix ;typedef structint in _degree;int out_degree; KnotInfo ;2. 根据题意建立邻接矩阵。void Creat_

4、Matrix(AdjoinMatrix &array, KnotInfo point,int n)int i, j;cout <<"分别输入该图的各条边(先输入起点后输入终点输入'0'为结束输入):"<< endl;while (true)cin >> i;if (i)cin >> j;array.Matrixi - 1j - 1 = 1;'elsebreak;for (i = 0; i < n ;i+)for (j = 0; j < n; j+)if (arrayMatrixij

5、!= 1)array.Matrixij = 0;elsepoin ti.out_degree+;poin tj.i n_degree+;3. 打印出各个节点的出度和入度void In_degree_Matrix(Knotlnfo point, int n)for (int i = 0; i < n; i+)cout << "结点 v"<<i+1<<"出度为:"<< pointi.out_degree << poin ti.i n_degree << en dl; cout &l

6、t;< en dl;4. 创建一个函数,用来实现某两个结点距离为3的通路条数计算int Route_Matrix(Adjoi nMatrix & array, i nt beg in, int en d,i nt n)int h = 0for (int i = 0; i < n; i+)if (array.Matrix begini)for (int k = 0; k < n; k+)if (array.Matrixik&& arrayMatrixk end)h+=1;return h;中间用空格隔开入度为:"<<5. 最后打印矩

7、阵和主函数void Show_Matrix(AdjoinMatrix arrayint n)for (int i = 0; i < n; i+)for (int j = 0; j < n; j+)cout << array.Matrixij << ""cout << en dl;/打印矩阵;void mai n()int n;cout << "输入图中所含顶点的个数:"<< endl;cin >> n;KnotInfo pointMAX_LENGTH ;AdjoinMat

8、rix array;Creat_I nfo(poi nt,n);Creat_Matrix(array,po int,n);cout << "根据题意得出关系矩阵如图:"<< endl;Show_Matrix(array ,n);cout << "从结点v2到结点v4长度为3的通路的条数为:"<< Route_Matrix(array, 1,3,n) <<endl;cout << "从结点v3到结点v3长度为3的回路的条数为:"<< Route_Matrix(array, 2, 2,n) << en dl;三、结论1、实验结果根据实验过程中所见到的现象和测得的数据,做出结论 运行结果:2、分析讨论对本次实验的心得体会、思考和建议。本次试验的难度在于对有向图的各个结点的出度和入度的计算,以及求指定路径的条数计算, 如果事先清理好思路,用代码实现并不困难。四、指导教师评语及成绩:成绩:指导教师签名: 批阅日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1