Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

HAVING PROBLEMS WHERE WHEN PICKING NUMBER for location it uses the location for the next number. #include #include const double EARTH_RADIUS = 3958.8; const double

HAVING PROBLEMS WHERE WHEN PICKING NUMBER for location it uses the location for the next number.

#include #include

const double EARTH_RADIUS = 3958.8; const double speed = 500.0;

using namespace std;

double haversine(double lat1, double long1, double lat2, double long2); double getFlightTime(double lat1, double long1, double lat2, double long2);

int main() { string locations[] = { "Miami Beach, FL, USA", "Fargo, ND, USA", "Idaho City, ID, USA", "Peabody, MA, USA", "Northampton, MA, USA", "Newton, MA, USA", "Newburyport, MA, USA", "New Bedford, MA, USA", "Medford, MA, USA", "Malden, MA, USA" // Add more locations };

double latitudes[] = {25.793449, 46.877186, 43.828850, 42.536457, 42.328674, 42.341042, 42.810356, 41.638409, 42.419331, 42.429752}; double longitudes[] = {-80.139198, -96.789803, -115.837860, -70.985786, -72.664658, -71.217133, -70.893875, -70.941208, -71.119720, -71.071022};

cout << "Available Locations: "; for (int i = 0; i < sizeof(locations) / sizeof(locations[0]); ++i) { cout << i + 1 << ". " << locations[i] << " "; }

int departureIndex; string input; do { cout << "Enter the number corresponding to your departure location: "; cin >> input; departureIndex = atoi(input.c_str()) - 1; } while (departureIndex < 0 || departureIndex >= sizeof(locations) / sizeof(locations[0]));

double departureLat = latitudes[departureIndex]; double departureLong = longitudes[departureIndex];

// Remove the selected departure location // Remove the selected departure location for (int i = departureIndex; i < sizeof(locations) / sizeof(locations[0]) - 1; ++i) { locations[i] = locations[i + 1]; latitudes[i] = latitudes[i + 1]; longitudes[i] = longitudes[i + 1]; }

// Update the latitude and longitude arrays for the last element latitudes[sizeof(locations) / sizeof(locations[0]) - 1] = 0.0; // Update with an appropriate default value longitudes[sizeof(locations) / sizeof(locations[0]) - 1] = 0.0; // Update with an appropriate default value

// Decrease the size of the arrays // Decrease the size of the arrays int newSize = sizeof(locations) / sizeof(locations[0]) - 1;

cout << "Available Destinations: "; for (int i = 0; i < newSize; ++i) { cout << i + 1 << ". " << locations[i] << " "; }

int destinationIndex; do { cout << "Enter the number corresponding to your destination location: "; cin >> input; destinationIndex = atoi(input.c_str()) - 1; } while (destinationIndex < 0 || destinationIndex >= newSize);

double destinationLat = latitudes[destinationIndex]; double destinationLong = longitudes[destinationIndex];

double distance = haversine(departureLat, departureLong, destinationLat, destinationLong); double flightTime = getFlightTime(departureLat, departureLong, destinationLat, destinationLong);

cout << "Distance between " << locations[departureIndex] << " and " << locations[destinationIndex] << ": " << distance << " miles "; cout << "Approximate flight time: " << flightTime << " hours ";

return 0; }

double haversine(double lat1, double long1, double lat2, double long2) { double dLat = lat2 - lat1; double dLon = long2 - long1; double a = sqrt(pow(sin((dLat)/2),2)+(cos(lat1)*cos(lat2)*(pow(sin((dLon)/2),2))));

//double a = sin(dLat / 2) * sin(dLat / 2) + cos(lat1) * cos(lat2) * sin(dLon / 2) * sin(dLon / 2); //double c = 2 * asin(a);

double distance = 2 * EARTH_RADIUS * asin(a);

return distance; }

double getFlightTime(double lat1, double long1, double lat2, double long2) { double distance = haversine(lat1, long1, lat2, long2);

double flightTime = distance / speed;

return flightTime; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

C++ Primer Plus

Authors: Stephen Prata

6th Edition

978-0321776402, 0321776402

More Books

Students also viewed these Algorithms questions

Question

Find the binomial coefficient. 1. 6C4 2. 12C3

Answered: 1 week ago

Question

What doesnt a derived class inherit from a base class?

Answered: 1 week ago