首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之
admin
2013-07-03
43
问题
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之间的距离,从而确定出距离最近的点对。例如,在下图所示的8个点中,点(1,1)与(2,0.5)是间距最近的点对。
【C++代码】
#include
#include
using namespace std;
class GPoint{
private:
double x,y;
public:
void setX(double x){this->x=x;}
void setY(double y){this->y=y;}
double getX(){return this->x;}
double getY(){return this->y;}
};
class ComputeDistance{
public:
double distance(GPoint a,GPoint b){
return sqrt((a.getX() - b.getX())*(a.getX() - b.getX())
+(a.getY() - b.getY())*(a.getY() - b.getY()));
}
};
int main()
{
int i,j,numberOfPoints=0;
cout<<”输入点的个数:”;
cin>>numbe[OfPoints:
(1)
points=new GPoint[numberOfPoints];//创建保存点坐标的数组
memset(points,0,Sizeof(points));
cout<<”输入”<< numberOfPoints<<”个点的坐标:”;
for(i=0;i
double tmpx,tmpy;
cin>>tmpx>>tmpy;,
points
.setX(tmpx);
points
.setY(tmpy);
}
(2)
computeDistance= new ComputeDistance();
int p1=0,p2=1;//p1和p2用于表示距离最近的点对在数组中的下标double shortestDistance=computeDistance->distance(points[p1],points[p2]);
//计算每一对点之间的距离
for(i=0;i<numberOfPoints;i++){
for(j=i+1;j<
(3)
;j++){
double tmpDistance=computeDistance->
(4)
;
if(
(5)
) {
p1=i;p2=j;
shortestDistance= tmpDistance;
}
}
cout<<”距离最近的点对是:(”;
cout<<points[p1].getX()<<”,”<<points[p1].getY()<<”)和(”;
cout<<points[p2].getX()<<”,”<
delete computeDistance;
return 0:
}
选项
答案
(1)Gpoint* (2)ComputeDistance * (3)number()tPoints (4)distance(points[i],points[j]) (5)shortestDistance2>tmpDistance
解析
本题考查考生使用C++语言进行面向对象程序设计的能力。首先要理解清楚题目中有关最近点对的概念和计算方法,然后阅读程序以实现该功能。
(1)处显示创建保存点坐标的数组。这里的new运算符用于开辟数组空间,其语法规则为:new类型[初值]。(1)处需要填入一类型修饰符,因此应填入GPoint*。类似的思路,(2)处应填入ComputeDistance*。
根据程序段中的注释,(3)和(4)处实现计算每一对点
之间的距离。(3)处为循环控制变量,因为要计算所有对点间的距离,因此应填入numberOtPoints。(4)处应调用computeDistance类的distance函数计算每一对点points
和points[j]之间的距离,因此应填入distance(points
,points[j])。
(5)处应填入一个判断条件,以输出距离最小的点对。这可通过比较shortestDistance和tmpDistance来实现。因此,(5)处应填入shortestDistance>tmpDistance。
转载请注明原文地址:https://kaotiyun.com/show/gnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
在PowerPoint中,下列关于自定义放映的叙述不正确的是(63)。
下图主板接口中,①处是(28),②处可以接的设备是(29),③处可以接的设备是(30)29.
下图是某国多年来统计的出生人数和死亡人数曲线图。从图中看出,该国从________________年以后,死亡人数超过了出生人数,出现了人口危机。
内存用于存放计算机运行时的指令、程序、需处理的数据和运行结果。但是,存储在(2)中的内容是不能用指令修改的。
某PPT文件共有8张幻灯片,现选中第6张幻灯片,对其设置新的背景颜色,单击“应用”按钮后,则()。
阅读以下说明,回答问题1至问题6,将解答填入答题纸对应的解答栏内。【说明】在Linux下安装配置DHCP服务,DHCP服务程序/usr/sbin/dhcpd需要读取配置文件/etc/d/hcpd.conf,以下是一个DHCP配置文件的主要内容:
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。说明在一台计算机上安装完成Windows2000服务器及相应的服务组件。
随机试题
Teachingchildrentoreadwellfromthestartisthemostimportanttaskofelementaryschools.Butrelyingoneducatorstoappr
按体重计算,入院当日应补充的生理需要量( )每100ml日需量的液体配制为( )
A.拇指内侧端B.食指末端C.中指端D.无名指末端E.小指外侧端
如果纳米新型材料公司与商某委托开发完成了发明创造,则在双方没有约定的情况下申请专利的权利应属于()。在商某与纳米新型材料公司的委托研究开发中虽未取得最终成功,但也取得了一些成果,而对这些成果的使用权和转让权,双方没有约定,则()。
国家对严重危及施工安全的()实行淘汰制度。
SDH传输设备系统级测试的主要项目有()。
1.已知资料:卖方:BEllINGYIUANCL,OTHINGMANUFACTURECO.,LTD.买方:TSMAPLECOMPANY合同号:EUR0070615成交价格:CIFSTAVANGER
()是税收优惠的主要方面。
2010年3月1日,某会计师事务所受一家中外合资经营企业(以下简称“合资企业”)的委托,对该企业2009年度的财务状况进行审计,并为其出具审计报告。该会计师事务所指派的注册会计师进驻合资企业之后,了解到以下情况:(1)合资企业系由香港的甲公司与内地的乙公
A、Copythearticleaboutscorpions.B、Havelunchwithhim.C、Buybooksaboutscorpions.D、GotoCanadawithhim.A对话末尾,男子说他想要一份这
最新回复
(
0
)