Четыре точки заданы своими координатами X(x1, x2), Y(y1, y2), Z(z1, z2), P(p1, p2)....

0 голосов
229 просмотров

Четыре точки заданы своими координатами X(x1, x2), Y(y1, y2), Z(z1, z2), P(p1, p2). Выяснить, какие из них находятся на минимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры. C++


Информатика (35 баллов) | 229 просмотров
Дан 1 ответ
0 голосов

#include
#include

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;<br>}

(3.6k баллов)