Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- struct dot {
- int X;
- int Y;
- int Z;
- };
- double findMinDist(dot* arr, unsigned int size) {
- unsigned int v1 = pow(arr[0].X - arr[1].X, 2);
- unsigned int v2 = pow(arr[0].Y - arr[1].Y, 2);
- unsigned int v3 = pow(arr[0].Z - arr[1].Z, 2);
- double min = sqrt(v1 + v2 + v3);
- for (unsigned int i = 0; size - 1 > i; i++) {
- for (unsigned int k = i + 1; size > k; k++) {
- v1 = pow(arr[i].X - arr[k].X, 2);
- v2 = pow(arr[i].Y - arr[k].Y, 2);
- v3 = pow(arr[i].Z - arr[k].Z, 2);
- double val = sqrt(v1 + v2 + v3);
- if (val < min) { min = val; }
- }
- }
- return min;
- }
- const unsigned int COUNT_DOT = 10000;
- int main() {
- dot arr_dot[COUNT_DOT];
- for (unsigned int i = 0; COUNT_DOT > i; i++) {
- cout << "Enter X Y Z: ";
- cin >> arr_dot[i].X >> arr_dot[i].Y >> arr_dot[i].Z;
- }
- cout.setf(ios::scientific);
- cout << "Result: " << findMinDist(arr_dot, COUNT_DOT) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement