(All closest pairs) Listing, FindNearestPoints.cpp, finds one closest pair. Revise the program to display all closest pairs with the same minimum distance. Here is a sample run:

Listing FindNearestPoints.cpp
1 #include
2 #include 3 using namespace std;45 // Compute the distance between two points (x1, y1) and (x2, y2)6 double getDistance(double x1, double y1, double x2, double y2)7 {8 return sqrt((x2 − x1) * (x2 − x1) + (y2 − y1) * (y2 − y1));9 }1011 int main()12 {13 const int NUMBER_OF_POINTS = 8 ;1415 // Each row in points represents a point16 double points[NUMBER_OF_POINTS][ ];1718 cout << "Enter " ; << NUMBER_OF_POINTS << " points: " ;19 for (int i = 0 ; i > points[i][0 ] >> points[i][1 ];2122 // p1 and p2 are the indices in the points array23 int p1 = 0 , p2 = 1 ; // Initial two points24 double shortestDistance = getDistance(points[p1][0 ], points[p1][1 ],25 points[p2][0 ], points[p2][1 ]); // Initialize shortestDistance26 27 // Compute distance for every two points28 for (int i = 0 ; i for (int j = i + 1 ; j double distance = getDistance(points[i][0 ], points[i][1 ],33 points[j][0 ], points[j][1 ]); // Find distance3435 if (shortestDistance > distance)36 {37 p1 = i; // Update p138 p2 = j; // Update p239 shortestDistance = distance; // Update shortestDistance40 }41 }42 }4344 // Display result45 cout << "The closest two points are " <<46 "(" << points[p1][0 ] << ", " << points[p1][1] << ") and (" <<47 points[p2][0 ] << ", " << points[p2][1] << ")" << endl;4849 return 0 ;50 }
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.