首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之
admin
2013-07-03
41
问题
阅读以下说明和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://www.kaotiyun.com/show/gnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
下列关于计算机病毒的叙述,不正确的是______。
计算机操作系统的主要功能是______。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
某种考试共有75个试题,每对一题得2分,每错一题扣1分。某考生最后的分数是54分,则该考生共做对______题。
在Word的编辑状态下,先后新建了两个文档,但并没有对这两个文档做“保存”或“另存为”操作,则______。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
在Excel2010中,设单元格A1、A2、A3、A4中的值分别为20、3、16、20,若在单元格B1中输入函数“=PR0DUCT(ApA2)/MAX(A3,A4)”,按回车键后,则B1单元格中的值为(
下图主板接口中,①处是(28),②处可以接的设备是(29),③处可以接的设备是(30)29.
小张为本企业录入一篇领导讲话文稿。文稿中引用了该企业2008年的销售额和各产品的利润等数据。小张考虑到目前是2010年,从信息的实效性出发,决定对文稿中的这部分内容进行处理,则______做法最为恰当。
防火墙包过滤规则的默认策略为拒绝,下表给出防火墙的包过滤规则配置界面。若要求内部所有主机能使用IE浏览器访问外部IP地址为202.117.118.23的Web服务器,为图中(1)~(4)空缺处选择正确答案。(1)A.允许B.拒绝(2)A.192
随机试题
常见于头皮、面部、背部而圆形的肿块与皮肤粘连,易感染,多为()
前庭器官中各类毛细胞的适宜刺激是
一胎龄35周早产儿.冬天出生,现年龄为1个月2d。母乳喂养,体重已由出生时2.0kg增至3.0kg。现首先应添加的辅食及其添加目的是
患者女性,60岁,突发剧烈头痛及喷射性呕吐5h。否认高血压病病史。查体:血压185/112mmHg,神清语明,右侧瞳孔直径4.0mm,光反射消失,上睑下垂,眼球向上、内、下运动不能,颈强直,Kernig征(+)。治疗过程中该患者可能出现的并发症有
A、口腔健康咨询B、口腔健康检查C、问卷调查D、制订口腔保健计划E、口腔疾病治疗开展社区口腔保健应首先
世行咨询服务采购指南规定,()等方面的考虑指导着世界银行在选择程序方面的政策。
案例某市A铸业有限公司成立于2004年4月19日,注册资本1.1亿元,占地面积61.76hm2,总资产35.0亿元,年产生铁137×104t、粗钢150×10。4t、线材120×104t。现有员工2000余人。2016年3月该公司进行全厂除尘系统升级改
为明确混凝土工程施工中钢筋制安、混凝土浇筑等工作之间的逻辑关系,施工项目部应当编制()。
下列统计指标中,可以采用算术平均数方法计算平均数的有()。[2008年真题]
Weliveinasocietywherethereisalotoftalkaboutscience,butIwouldsaythattherearenot5percentofthepeoplewho
最新回复
(
0
)