当前位置:文档之家› 软件学生实验报告报告范本

软件学生实验报告报告范本

#defineMAX_LENGTH100
usingnamespacestd;
typedefstruct{
intMatrix[MAX_LENGTH][MAX_LENGTH];
}AdjoinMatrix;
typedefstruct{
intin_degree;
intout_degree;
}KnotInfo;
}
cout << endl;
}
4.创建一个函数,用来实现某两个结点距离为3的通路条数计算
intRoute_Matrix(AdjoinMatrix&array,intbegin,intend,intn){
inth = 0;
for(inti = 0; i <n; i++)
if[begin][i])
for(intk = 0; k <n; k++)
验报告学生实
学 院:软件与通信工程学院
课程名称:离散数学(软件)
专业班级:12软件1班
姓 名:段谟毅
学 号:0123747
学生实验报告(1)
学生姓名
段谟毅
学号
0123747
同组人
实验项目
图的矩阵表示和基本运算

□必修 □选修

□演示性实验 □验证性实验 □操作性实验 □综合性实验
实验地点
W101
实验仪器台号
指导教师
赵晓平
实验日期及节次
四) 89A节
一、实验综述
1、实验目的及要求
(1)熟悉图在计算机中的矩阵表示;
(2)编写程序,根据输入的整数对,输出一个图形的邻接矩阵,并求出各结点的出度和入度;
(3)加强对图知识的理解、应用和运用能力。
实验要求:
给出如下有向图D,利用邻接矩阵,编写程序计算:(1)各结点的度数;(2)D中 到 长度为3的通路的条数;(3)D中 到 长度为3的回路的条数。
2.根据题意建立邻接矩阵。
voidCreat_Matrix(AdjoinMatrix&array,KnotInfopoint[],intn){
inti, j;
cout <<"分别输入该图的各条边(先输入起点 后输入终点 中间用空格隔开 输入'0'为结束输入):"<< endl;
while(true){
认真完成实验题,能正确运行,提交实验报告并上传程序,实验报告要求写出操作步骤、结果、问题、解决方法、体会等。
2、实验仪器、设备或软件
计算机、VC++、office、相关的操作系统等。
二、实验过程(实验步骤、记录、数据、分析)
实验原理:
设D=<V,E>是一个线图, ,则n阶方阵 称为D的邻接矩阵。其中:
cin >> i;
if(i)
{
cin >> j;
[i - 1][j - 1] = 1;
}
else
break;
}
for(i = 0; i <n;i++)
for(j = 0; j <n; j++)
if[i][j] != 1)
[i][j] = 0;
else
{
point[i].out_degree++;
point[j].in_degree++;
邻接矩阵具有如下特点:
(1)邻接矩阵是一个布尔矩阵;
(2)无向线图的邻接矩阵是对称的;
(3)而有向线图的邻接矩阵不一定对称;
利用邻接矩阵可以很容易的完成结点的度数计算
写明具体实施的步骤,包括实验过程中的记录、数据和相应的分析
1.先定义两个结构体,一个用来存储邻接矩阵,一个用来存储结点相关信息。
#include<iostream>
cout << endl;
}
}
3.打印出各个节点的出度和入度
voidIn_degree_Matrix(KnotInfopoint[],intn){
for(inti = 0; i <n; i++)
{
cout <<"结点v"<<i+1<<"出度为:"<<point[i].out_degree <<" 入度为:"<<point[i].in_degree << endl;
if[i][k]&&[k][end])
h+=1;
returnh;
}
5.最后打印矩阵和主函数
voidShow_Matrix(AdjoinMatrixarray,intn){
for(inti = 0; i <n; itj = 0; j <n; j++)
cout << [i][j] <<" ";
相关主题