1条回答 默认 最新
- 技术专家团-小桥流水 2021-10-25 23:12关注
代码如下,如有帮助,请帮忙采纳一下,谢谢。
代码:
#include <iostream> #include <fstream> using namespace std; struct Node { int id; double x; double y; }; int main() { Node a[30]; double dis[30]; int index[30]; int nmb = 0,i,j; char ch; ifstream is("a.txt"); ofstream os("b.txt"); if (!is.is_open()) { cout << "文件打开失败"<<endl; return 0; } while(!is.eof()) { is >> a[nmb].id >> ch >> a[nmb].x >> ch >> a[nmb].y; if(a[nmb].id > 0 && a[nmb].x > 0 && a[nmb].y>0) nmb++; } is.close(); dis[0] = 0; index[0] = 0; for ( i =1;i<nmb;i++) { dis[i] = (a[i].x - a[0].x) *(a[i].x - a[0].x) + (a[i].y - a[0].y)*(a[i].y - a[0].y); index[i] = i; } //排序 for (i=0;i<nmb-1;i++) { for (j=0;j<nmb-i-1;j++) { if(dis[j]>dis[j+1]) { double t = dis[j]; dis[j] = dis[j+1]; dis[j+1] = t; int xx = index[j]; index[j]=index[j+1]; index[j+1] = xx; } } } for (i=1;i<=9;i++) //0是自身,所以从1开始 { int xx = index[i]; os << a[xx].id << " " << a[xx].x << " " << a[xx].y << endl; } os.close(); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作