- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》课程设计报告书
题目:室内布线
姓名:
性别: 男
班级: 计091-2
学号:200925501213
日期: 2010.7.7
课程设计内容:
装修房子是一项颇为复杂的工程,现在需要写一个程序帮助房主设计室内电线的布局。
首先,墙壁上插座的位置是固定的。插座间需要有电线相连,而且要布置得整齐美观,即要求每条线都与至少一条墙边平行,且嵌入四壁或者地板(不能走屋顶)。
房主想要知道,要将所有插座连通,自己需要买的电线最短长度是多少(取整数)
提示:
1、每个房间都有门,电线不可以穿门而过。图中给出一个有4个插座的房间的电线布局。
2、输出时应注意,题目要求取整数,但不能四舍五入,必须向上取整,因为电线短一点就不能保证连通。
算法设计:
#include iostream
#define MAX 20
#define MAXSIZE 1000
using namespace std;
float H_LENGH,H_WIDTH,H_HIGH;
int y;//定义房子的长宽高和插座的个数为全局变量
typedef struct
{
float X,Y,Z;
}Point;
typedef struct //用四个点定义门的位置
{
Point DoorPlace[4];
int DP;//用来标记门在房间位置
float D_HIGH;
}Door;
typedef struct //定义插座的个数和位置
{
Point SocketPlace[MAX];
int SocketNum,SD;
}HOutlet;
typedef struct
{int row,col,mark;
float e;
}Triple;
typedef struct
{ Triple data[MAXSIZE];
int m,n,len;}TSMatrix;
int P2W(Point p)//通过插座的位置求出插座在哪一面墙上
{ int num;
if (p.X=0p.Y==0p.Z=0)
num=1;
else if (p.X==H_LENGHp.Y=0p.Z=0)
num=2;
else if (p.X=0p.Y==H_WIDTHp.Z=0)
num=3;
else if (p.X==0p.Y=0p.Z=0)
num=4;
return num;
}
float max(float a,float b)//求两个数的最大值
{ float tem;
if (ab){
tem=a;}
else tem=b;
return tem;
}
float max(float a,float b,float c)//求三个数的最小值
{ float tem;
tem=max(a,b);
tem=max(tem,c);
return tem;}
float max(float a,float b,float c,float d)//求四个数的最大值
{ float tem;
tem=max(a,b);
tem=max(tem,c);
tem=max(tem,d);
return tem;}
float min(float a,float b)//求两个数的最小值
{ float tem;
if (ab) {tem=a; }
else tem=b;
return tem;}
float min(float a,float b,float c)//求三个数的最小值
{ float tem;
tem=min(a,b);
tem=min(tem,c);
return tem;}
float min(float a,float b,float c,float d)//求四个数的最小值
{ float tem;
tem=min(a,b);
tem=min(tem,c);
tem=min(tem,d);
return tem;}
float JDZ(float X,float Y)//求两个数相减的绝对值
{ float tem;
tem=X-Y;
if (tem0)
{tem=-tem;}
return tem;}
float CalDis(Point p1,Point p2,Door D)//求两个插座之间的最短距离{
float distance=0,distance1=0,distance2=0,distance3=0,DL,DR,SL,SR;
int Num1,Num2;
DL=min(D.DoorPlace[0].X,D.DoorPlace[1].X,D.DoorPla
您可能关注的文档
- 《数据库课程设计(论文)_小型网络办公环境》.doc
- 《数据库课程设计(论文)_图书馆数据库设计》.doc
- 《数据库课程-超市进销存管理系统》.doc
- 《数据库课程设计-书店管理系统》.doc
- 《数据库课程设计(论文)_医院信息管理系统》.doc
- 《数据库课程设计(论文)_企业销售管理系统设计》.doc
- 《数据库课程设计-人事管理系统》.doc
- 《数据库课程设计-人事工资管理系统课程设计》.doc
- 《数据库访问控制安全中间件白皮书》.doc
- 《数据库课程设计-交易管理系统》.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版学生专用.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版完美版.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及答案1.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及答案一.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及参考答.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版审定版.docx
- 老年神经疾病及重症患者相关知识试卷及答案.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版1套.docx
- 新疆巴州尉犁县泰昌实业有限公司校园招聘模拟试题附带答案详解汇编.docx
- 新疆巴州电力有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版参考答案.docx
文档评论(0)