.随机二维平面n个点,找出其中距离最近的两个,输出那两个点。
我不知道这个哪里有问题,就是有点时候这个最近距离不对,求大佬们帮忙看看,感谢
#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;
}