#include #include using namespace std; const int dimensions = 4; int k = 0; char ch; string temp; // This assignment is worth 5 points // -1 for each missing needed variant of distance() double distance(double x); double distance(double x, double y); double distance(double x, double y, double z); double distance(double x, double y, double z, double t, double * s); int main() { int inputs[dimensions]; double dist, speed; cout << "Enter coordiate values in order (x, y, z, t): "; do { cin >> inputs[k]; k++; ch = cin.get(); } while(k < dimensions && ch != '\n'); if(k == dimensions && ch != '\n') getline(cin, temp); // k now holds the number of elements that were actually inputted switch(k) { case 1: dist = distance(inputs[0]); break; case 2: dist = distance(inputs[0], inputs[1]); break; case 3: dist = distance(inputs[0], inputs[1], inputs[2]); break; case 4: dist = distance(inputs[0], inputs[1], inputs[2], inputs[3], &speed); break; default: break; } cout << "From origin, d = " << dist; if(k == 4) cout << ", s = " << speed; cout << endl; return 0; } double distance(double x) { return abs(x); } double distance(double x, double y) { return sqrt(pow(x, 2) + pow(y, 2)); } double distance(double x, double y, double z) { return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2)); } double distance(double x, double y, double z, double t, double * s) { double dis = distance(x, y, z); *s = dis/t; return dis; }