Четыре точки заданы своими координатами x(x1, x2), y(y1, y2), z(z1, z2), p(p1, p2). выяснить, какие из них находятся на минимальном расстоянии друг от друга и вывести на печать значение этого расстояния. вычисление расстояния между двумя точками оформить в виде процедуры. c++

milanakpoplove milanakpoplove    2   26.09.2019 16:50    10

Ответы
race201 race201  08.10.2020 20:38
#include <iostream>
#include <cmath>

using namespace std;
double dist(double x[2], double y[2]) {
    return sqrt((x[0] - y[0]) * (x[0] - y[0]) + (x[1] - y[1]) * (x[1] - y[1]));
}

int main() {
    double points[4][2];
    for (int i = 0; i != 4; ++i) {
         cin >> points[i][0] >> points[i][1];
    }
    double min = dist(points[0], points[1]);
    for (int i = 0; i != 4; ++i) {
         for (int j = i + 1; j != 4; ++j) { 
              double new_min = dist(points[i], points[j]);
              if (new_min < min) {
                   min = new_min;
              }
         }
    }
    cout << min;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика