Координаты мин расстояние с ++

У меня сейчас небольшие проблемы, потому что мне нужно найти координаты, соответствующие моему минимальному расстоянию. Например, у меня есть человек и три потенциальных станции. Мне нужно найти расстояние между ними, а затем взять минимальное расстояние, а в следующем я должен взять координаты, связанные с этим минимальным расстоянием. Я отправляю тебе мой цикл только для этой части моей программы.

for (newCoordinate = newPoints.begin(); newCoordinate != newPoints.end(); newCoordinate++)// here are my three potential stations
{
    distanceBetweenBusCoordinateAndNewPoint = sqrt(pow((busRequest->x - newCoordinate->x), 2) + (pow((busRequest->y - newCoordinate->y), 2)));// find min
    distances.push_back(distanceBetweenBusCoordinateAndNewPoint);//add to the vector
}
newdis = min_element(distances.begin(), distances.end());// find the min of min

Спасибо за помощь!

1 ответ

Я бы отнесся к этому как к нахождению минимального значения в std::vector,

Одна переменная содержит минимальное расстояние; инициализируется до наибольшего значения. Два Point Переменные определяют прямую линию, связанную с минимальным расстоянием.

Вот алгоритм:

Calculate distance.  
if distance < minimum distance  
    set Point1 and Point2 to the ordinates used in the distance calculation.  
    set minimum distance to the calculated distance.  

В конце цикла переменные Point1 а также Point2 будут координаты, связанные с minimum distance,

Другие вопросы по тегам