Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <math.h>
- using namespace std;
- void addArray(double[], double[], int);
- void addVector(vector<double> &Numbers, vector<double> &Numbers2, int);
- void subtractArray(double[], double[], int);
- void subtractVector(vector<double> &Numbers, vector<double> &Numbers2, int);
- void magnitudeArray(double[], int);
- void magnitudeVector(vector<double> &Numbers, int);
- void dotArray(double[], double[], int);
- void dotVector(vector<double> &Numbers, vector<double> &Numbers2);
- void crossArray(double[], double[], int);
- void crossVector(vector<double> &Numbers, vector<double> &Numbers2, int);
- void addArray(double a1[], double a2[], int size)
- {
- int ans[size] = { 0 };
- for (int c = 0; c < size; c++)
- {
- ans[c] = a1[c] + a2[c];
- }
- cout << "Array Result: " << endl;
- switch (size)
- {
- case 1:
- cout << "i: ";
- cout << ans[0] << endl;
- break;
- case 2:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- break;
- case 3:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- cout << "k: ";
- cout << ans[2] << endl;
- break;
- }
- }
- void addVector(vector<double> &Numbers, vector<double> &Numbers2, int size)
- {
- vector<double> ans(Numbers.size());
- switch (size)
- {
- case 1:
- ans[0] = Numbers[0] + Numbers2[0];
- break;
- case 2:
- ans[0] = Numbers[0] + Numbers2[0];
- ans[1] = Numbers[1] + Numbers2[1];
- break;
- case 3:
- ans[0] = Numbers[0] + Numbers2[0];
- ans[1] = Numbers[1] + Numbers2[1];
- ans[2] = Numbers[2] + Numbers2[2];
- break;
- }
- cout << "Vector Result: " << endl;
- switch (Numbers.size())
- {
- case 1:
- cout << "i: ";
- cout << ans[0] << endl;
- break;
- case 2:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- break;
- case 3:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- cout << "k: ";
- cout << ans[2] << endl;
- break;
- }
- }
- void subtractArray(double a1[], double a2[], int size)
- {
- int ans[size] = { 0 };
- for (int c = 0; c < size; c++)
- {
- ans[c] = a1[c] - a2[c];
- }
- cout << "Array Result: " << endl;
- switch (size)
- {
- case 1:
- cout << "i: ";
- cout << ans[0] << endl;
- break;
- case 2:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- break;
- case 3:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- cout << "k: ";
- cout << ans[2] << endl;
- break;
- }
- }
- void subtractVector(vector<double> &Numbers, vector<double> &Numbers2, int size)
- {
- vector<double> ans(Numbers.size());
- switch (size)
- {
- case 1:
- ans[0] = Numbers[0] - Numbers2[0];
- break;
- case 2:
- ans[0] = Numbers[0] - Numbers2[0];
- ans[1] = Numbers[1] - Numbers2[1];
- break;
- case 3:
- ans[0] = Numbers[0] - Numbers2[0];
- ans[1] = Numbers[1] - Numbers2[1];
- ans[2] = Numbers[2] - Numbers2[2];
- break;
- }
- cout << "Vector Result: " << endl;
- switch (Numbers.size())
- {
- case 1:
- cout << "i: ";
- cout << ans[0] << endl;
- break;
- case 2:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- break;
- case 3:
- cout << "i: ";
- cout << ans[0] << endl;
- cout << "j: ";
- cout << ans[1] << endl;
- cout << "k: ";
- cout << ans[2] << endl;
- break;
- }
- }
- void magnitudeArray(double a1[], int size)
- {
- double ans = 0;
- int a = 0;
- switch (size)
- {
- case 1:
- a = pow(a1[0], 2);
- break;
- case 2:
- a = pow(a1[0], 2) + pow(a1[1], 2);
- break;
- case 3:
- a = pow(a1[0], 2) + pow(a1[1], 2) + pow(a1[2], 2);
- break;
- }
- ans = sqrt(a);
- cout << "Array Result: " << endl;
- cout << ans << endl;
- }
- void magnitudeVector(vector<double> &Numbers, int size)
- {
- double ans = 0;
- int a = 0;
- switch (size)
- {
- case 1:
- a = pow(Numbers[0], 2);
- break;
- case 2:
- a = pow(Numbers[0], 2) + pow(Numbers[1], 2);
- break;
- case 3:
- a = pow(Numbers[0], 2) + pow(Numbers[1], 2) + pow(Numbers[2], 2);
- break;
- }
- ans = sqrt(a);
- cout << "Vector Result: " << endl;
- cout << ans << endl;
- }
- void dotArray(double a1[], double a2[], int size)
- {
- int ans = 0;
- for (int c = 0; c < size; c++)
- {
- ans += ((a1[c]) * (a2[c]));
- }
- cout << "Array Result: ";
- cout << ans << endl;
- }
- void dotVector(vector<double> &Numbers, vector<double> &Numbers2)
- {
- int ans = 0;
- for (int c = 0; c < Numbers.size(); c++)
- {
- ans += ((Numbers[c]) * (Numbers2[c]));
- }
- cout << "Vector Result: ";
- cout << ans << endl;
- }
- void crossArray(double a1[], double a2[], int size)
- {
- int ans[3] = { 0 };
- ans[0] = (a1[1] * a2[2]) - (a1[2] * a2[1]);
- ans[1] = (a1[0] * a2[2]) - (a1[2] * a2[0]);
- ans[2] = (a1[0] * a2[1]) - (a1[1] * a2[0]);
- cout << "Array Result: " << endl;
- cout << "i: " << ans[0] << endl;
- cout << "j: " << ans[1] << endl;
- cout << "k: " << ans[2] << endl;
- }
- void crossVector(vector<double> &Numbers, vector<double> &Numbers2, int size)
- {
- int ans[3] = { 0 };
- ans[0] = (Numbers[1] * Numbers2[2]) - (Numbers[2] * Numbers2[1]);
- ans[1] = (Numbers[0] * Numbers2[2]) - (Numbers[2] * Numbers2[0]);
- ans[2] = (Numbers[0] * Numbers2[1]) - (Numbers[1] * Numbers2[0]);
- cout << "Vector Result: " << endl;
- cout << "i: " << ans[0] << endl;
- cout << "j: " << ans[1] << endl;
- cout << "k: " << ans[2] << endl;
- }
- int main()
- {
- int op = 0;
- int input = 0;
- int S = 0;
- cout << "Please enter number of vector components: ";
- cin >> S;
- vector<double> Numbers(S); //Vector used for all operations
- vector<double> Numbers2(S); //Vector specifically used for everything aside from magnitude
- double Array1[S] = { 0 }; //Array for all operations
- double Array2[S] = { 0 }; //Array specifically used for everything aside from magnitude
- cout << "Operations Available:" << endl;
- cout << "(0) Addition" << endl;
- cout << "(1) Subtraction" << endl;
- cout << "(2) Magnitude" << endl;
- cout << "(3) Dot Product" << endl;
- cout << "(4) Cross Product" << endl;
- cout << "Please select an operation: ";
- cin >> op;
- switch (op)
- {
- case 0:
- cout << "Enter Component Values of Vector 1" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] == input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers[2] = input;
- Array1[2] = input;
- break;
- }
- cout << "Enter Component Values of Vector 2" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers2[2] = input;
- Array2[2] = input;
- break;
- }
- addArray(Array1, Array2, S);
- addVector(Numbers, Numbers2, S);
- break;
- case 1:
- cout << "Enter Component Values of Vector 1" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers[2] = input;
- Array1[2] = input;
- break;
- }
- cout << "Enter Component Values of Vector 2" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers2[2] = input;
- Array2[2] = input;
- break;
- }
- subtractArray(Array1, Array2, S);
- subtractVector(Numbers, Numbers2, S);
- break;
- case 2:
- cout << "Enter Component Values of Vector 1" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers[2] = input;
- Array1[2] = input;
- break;
- }
- magnitudeArray(Array1, S);
- magnitudeVector(Numbers, S);
- break;
- case 3:
- cout << "Enter Component Values of Vector 1" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers[2] = input;
- Array1[2] = input;
- break;
- }
- cout << "Enter Component Values of Vector 2" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers2[2] = input;
- Array2[2] = input;
- break;
- }
- dotArray(Array1, Array2, S);
- dotVector(Numbers, Numbers2);
- break;
- case 4:
- cout << "Enter Component Values of Vector 1" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array1[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers[1] = input;
- Array1[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers[2] = input;
- Array1[2] = input;
- break;
- }
- cout << "Enter Component Values of Vector 2" << endl;
- switch (S)
- {
- case 1:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- break;
- case 2:
- cout << "i: ";
- cin >> input;
- Numbers2[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- break;
- case 3:
- cout << "i: ";
- cin >> input;
- Numbers[0] = input;
- Array2[0] = input;
- cout << "j: ";
- cin >> input;
- Numbers2[1] = input;
- Array2[1] = input;
- cout << "k: ";
- cin >> input;
- Numbers2[2] = input;
- Array2[2] = input;
- break;
- }
- crossArray(Array1, Array2, S);
- crossVector(Numbers, Numbers2, S);
- break;
- }
- cout << "Would you like to try again? Y/N? ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement