C++坐标排序问题求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++坐标排序问题求解相关的知识,希望对你有一定的参考价值。

编写一个程序,处理坐标点排序,每个坐标点有横坐标(x)、纵坐标(y),输入四个坐标信息,然后按照横坐标从小到大排序,输出排序后的坐标结果,要求使用结构体来实现
#include <iostream>
using namespace std;
struct Point
int x,y;
;
void Sort(Point p[])
Point temp;
temp=p[1];
p[1]=p[2];
p[2]=temp;
p[1].x;


int main()
Point p1,p2,p3,p4;
Point p[4];
for(int i=0;i<4;i++)
cin>>p[i].x>>p[i].y;
//Sort(p);
for (i=0;i<3;i++)
for (int j=3;j>i;j--)
if (p[j].x<p[j-1].x)
p1=p[j];
p[j]=p[j-1];
p[j-1]=p1;



for(int a=0;a<4;i++)
cout<<p[a].x<<p[a].y;
return 0;

参考技术A #include <iostream>
using namespace std;
struct Point
int x,y;
;
void Sort(Point p[])
Point temp;
temp=p[1];
p[1]=p[2];
p[2]=temp;
p[1].x;


int main()
Point p1;    //p2,p3,p4都没用
Point p[4];
for(int i=0;i<4;i++)
cin>>p[i].x>>p[i].y;
//Sort(p);
for (int i=0;i<3;i++)        //int i
for (int j=3;j>i;j--)
if (p[j].x<p[j-1].x)
p1=p[j];
p[j]=p[j-1];
p[j-1]=p1;



for(int a=0;a<4;a++)        //不是i++  
cout<<p[a].x<<" "<<p[a].y<<endl;    //输出格式给你改了下
return 0;

满意请采纳!

追问

语法上的错误好像解决了,那么逻辑上的呢?输出结果不行。。。到底哪错了呢?求高手解答!

追答

?你的测试样例是什么?我这输出没问题

追问

学校电脑破截不了图(0^0),先给你满意答案吧~回去弄不行私信找你哈

追答

说好的满意答案呢?

参考技术B for(a=0;a<4;a++)//这里是a++
    cout<<p[a].x<<p[a].y;

追问

语法上的错误好像解决了,那么逻辑上的呢?输出结果不行。。。一串数字是怎么回事,求高手解答!

追答#include <iostream>
using namespace std;
struct Point

int x,y;
;

int main()

Point p1,p2,p3,p4;
Point p[4];
int i,j,a;
for(i=0;i<4;i++)
cin>>p[i].x>>p[i].y;

for(i=0;i<3;i++)

for(j=3;j>i;j--)

if(p[j].x<p[j-1].x)

p1=p[j];
p[j]=p[j-1];
p[j-1]=p1;



for(a=0;a<4;a++)
cout<<p[a].x<<' '<<p[a].y<<'\\t';
cout<<endl;
return 0;

本回答被提问者采纳

以上是关于C++坐标排序问题求解的主要内容,如果未能解决你的问题,请参考以下文章

C++ opencv曲线拟合

坐标矩阵 Apache Spark 上的 Ax = b 求解器

迷宫实现递归版本C++

SCARA的完整运动学解——代数法求解

排序——归并排序(分治法)

C++ 算法主题系列之集结0-1背包问题的所有求解方案