首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之
阅读以下说明和C++代码,填充代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之
admin
2013-07-03
49
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
下列关于计算机病毒的叙述,不正确的是______。
以下关于计算机网络协议的叙述中,不正确的是(58)________________。
在Excel2007中,若在单元格A1中输入函数“=ROUNDUP(3.1415926,2)”,按回车键后,则A1单元格中的值为______。
在Word的编辑状态下,先后新建了两个文档,但并没有对这两个文档做“保存”或“另存为”操作,则______。
为使双击指定类型的文件名就能调用相应的程序来打开处理它,需要将这种文件类型与相应的程序建立文件(23)。
若在Excel的A1单元格中输入函数“=SUM(1,12,false)”,按回车键后,则A1单元格中显示的值为________。
在WindowsXP中,删除某个应用程序在桌面上的快捷方式,则(42)。
程序员一般用(7)软件编写和修改程序。
某PPT文件共有8张幻灯片,现选中第6张幻灯片,对其设置新的背景颜色,单击“应用”按钮后,则()。
资源记录文件位于/var/named目录下。这个目录是在以上的(1)文件中定义的。从备选选项中选择(6)~(10)处的解答。在问题4的named.abc.net文件中,出现了5种类型的记录。其中SOA是(6),NS是(7),MX是(8),A是
随机试题
国家实行带薪年休假制度。劳动者连续工作________以上的,享受带薪年休假。()
丁英、李民以色情为诱饵索取、敲诈他人钱财,是构成抢劫罪还是敲诈勒索罪?吴华构成何罪?
设某商业银行,某日营业终了,业务库存现金300万元,在央行准备金存款账户余额1800万元,其中法定准备金800万元。该商业银行营运过程中,因同业往来引起头寸减少的因素为()。
某年11月,海云路派出所辖区某百货员工上访讨薪。当年8月,社区民警就在工作中得知该百货经营状况不佳,有倒闭的可能,民警便将此信息积极上报同时实时关注,并提前做足了疏导工作及稳控预案,避免了事态扩大,未造成任何不良影响。这主要体现了信息分析的(
从小学到大学,从农村到城市,中国的父母一向贯彻着“富养”的精神,虽未都能锦衣玉食,但在父母羽翼的包裹下也从未担心过温饱。一味迎合,轻易满足,这是青年被宠的典型表现,也是造成自宠的直接原因。习惯了家中至高无上的地位,便事事都习惯以自我为中心,生活在外,孩子往
下列四种财物中,不能成为侵占罪的犯罪对象的是()。
(150)不属于项目成本预算的输入。
Iclimbedthestairsslowly,carryingabigsuitcase,myfatherwithtwomore.BythetimeIgottothethirdfloor,Iwas(16)
Readthearticlebelowaboutcorporateculture.ChoosethecorrectwordtotilleachgapfromA,B,CorDontheoppositep
Foxesandfarmershavenevergotonwell.Thesesmalldog-likeanimalshavelongbeenaccusedofkillingfarmanimals.Theyare
最新回复
(
0
)