社区讨论
求最近的点对,有问题求助大佬们
学术版参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @ltb6qnyj
- 此快照首次捕获于
- 2024/03/03 15:23 2 年前
- 此快照最后确认于
- 2024/03/03 17:03 2 年前
.随机二维平面n个点,找出其中距离最近的两个,输出那两个点。
我不知道这个哪里有问题,就是有点时候这个最近距离不对,求大佬们帮忙看看,感谢
CPP#include<bits/stdc++.h>
using namespace std;
struct dian{
int x,y;
};
int main(){
int num;
cin>>num;
dian d[num];
float mi=100;//最近距离
float dis;//两点间距离
int n,m;
for(int i=0;i<num;i++){
cin>>d[i].x>>d[i].y;
}
for(int i=0;i<num;i++){
for(int j=i+1;j<num;j++){
dis=sqrt(pow((d[i].x-d[j].x),2)+pow((d[i].y-d[j].y),2));
if(dis<=mi){
mi=dis;
n=i;
m=j;}
}
}
cout<<d[n].x<<" "<<d[n].y<<" "<<d[m].x<<" "<<d[m].y<<" "<<endl;
cout<<dis<<endl;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...