JUST ONLY USE . Not use class, not use give a choice as to which way to sort it. Write a program that reads 10 pairs of Cartesian coordinates from a file called "points.txt" and sorts them by increasing x-values, decreasing y-values, and increasing distance from the origin. Use only one sorting routine. Use an enumerated data type to keep track of the field on which the list is being sorted. The number of pairs should be in a global constant c++
JUST ONLY USE <iostream>. Not use class, not use give a choice as to
which way to sort it.
Write a program that reads 10 pairs of Cartesian coordinates from a file called "points.txt" and sorts them by increasing x-values, decreasing y-values, and increasing distance from the origin. Use only one sorting routine. Use an enumerated data type to keep track of the field on which the list is being sorted. The number of pairs should be in a global constant c++
By using only <iostream> I am answering this question ...
Input :
#include <iostream>
#include <fstream>
#include <math.h>
#include<bits/stdc++.h> using namespace std;
const int num_of_pairs= 10;
class points {
public:
int x; int y;
points(){
}
points(int x,int y){ X = x;
y = y;
}
};
enum sortType {increasing By X,decreasingByY,increasingByDist}; sortType val;
bool comparePoint(points p1, points p2)
{
if (p1.x>p2.x){ return 0;
} else if(p1.x-p2.x)
{
if(pl.y<p2.y)
return 0;
else if (pl.y-p2.y)
{
float dist1= sqrt(pow(p1.x - 0, 2) + pow(pl.y - 0, 2)* 1.0);
float dist2= sqrt(pow(p2.x - 0, 2) + pow(p2.y - 0, 2) * 1.0);
if(dist 1>dist2) return 0;
else
val-increasingByDist:
}
else
val=decreasingByY;
}| else
val-increasingByX;
return 1;
}
int main()
{
ifstream readfile("point.txt"); points pointobj[num_of_pairs]; for (int i=0; 1 < num ; i++)
{
int x_value;
int y_value;
readfile >> x_value; readfile>>y_value;
pointobj[i].x x_value;
pointobj[i].y=y_value;
cout<<"("<<pointobj[i].x<<","<<pointobj[i].y<<<")";
}
sort(pointobj,pointobj+num_of_pairs,comparePoint);
cout<<"\nAfter sort\n"; for (int i=0; i<num_of_pairs; i++)
cout<<"("<<pointobj[i].x<<", "<<pointobj[i].y<<")";
return 0;
}
Step by step
Solved in 4 steps with 2 images