Координаты мин расстояние с ++
У меня сейчас небольшие проблемы, потому что мне нужно найти координаты, соответствующие моему минимальному расстоянию. Например, у меня есть человек и три потенциальных станции. Мне нужно найти расстояние между ними, а затем взять минимальное расстояние, а в следующем я должен взять координаты, связанные с этим минимальным расстоянием. Я отправляю тебе мой цикл только для этой части моей программы.
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
,