Вопрос задан 18.07.2023 в 14:06. Предмет Информатика. Спрашивает Шестакова Анна.

Задача на с++. Даны координаты вершин треугольника и координаты вершины точки в нём. Найти

расстояние от этой точки до самой близкой середины стороны треугольника.(Расстояние от точки до середины стороны треугольника должно быть наименьшем чем 2 других расстояния, но возможны варианты когда 3 или 2 расстояния равны)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Гавриков Егор.

#include<iostream>

#include<cmath>

using namespace std;

int main() {

double x[3], y[3], midx[3], midy[3];

for(int jjj=0; jjj<3; jjj++) {

cout«"enter coordinates of vertex "«jjj+1«endl;

cin»x[jjj]»y[jjj];

if (jjj!=0) {

midx[jjj] = (x[jjj] + x[jjj-1]) / 2;

midy[jjj] = (y[jjj] + y[jjj-1]) / 2;

};

};

double xd, yd, min;

cout«"enter coordinates of dot "«endl;

cin»xd»yd;

for(int jjj=0; jjj<3; jjj++) {

double m = sqrt(pow(xd - x[jjj],2) + pow(yd - y[jjj],2));

min =(jjj==0)? m: min;

min =(min>m)? m: min;

};

cout«min;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на C++, вы можете следовать следующим шагам:

  1. Вычислите середины всех трёх сторон треугольника.
  2. Найдите ближайшую из середин к заданной точке.
  3. Вычислите расстояние от этой ближайшей середины до заданной точки.

Для вычисления расстояния между двумя точками, можно использовать формулу расстояния между двумя точками в 2D пространстве: distance = sqrt((x2 - x1)^2 + (y2 - y1)^2).

Вот пример кода на C++:

cpp
#include <iostream> #include <cmath> struct Point { double x, y; }; // Функция для вычисления расстояния между двумя точками double distanceBetweenPoints(const Point& p1, const Point& p2) { return sqrt(pow(p2.x - p1.x, 2) + pow(p2.y - p1.y, 2)); } // Функция для вычисления середины отрезка между двумя точками Point midPoint(const Point& p1, const Point& p2) { return { (p1.x + p2.x) / 2, (p1.y + p2.y) / 2 }; } // Функция для нахождения расстояния от точки до ближайшей середины стороны треугольника double distanceToClosestMidpoint(const Point& p, const Point& A, const Point& B, const Point& C) { // Вычисляем середины сторон треугольника Point midAB = midPoint(A, B); Point midBC = midPoint(B, C); Point midCA = midPoint(C, A); // Вычисляем расстояния от точки p до середин сторон треугольника double distPtoAB = distanceBetweenPoints(p, midAB); double distPtoBC = distanceBetweenPoints(p, midBC); double distPtoCA = distanceBetweenPoints(p, midCA); // Находим минимальное из расстояний double minDistance = std::min({ distPtoAB, distPtoBC, distPtoCA }); return minDistance; } int main() { Point A = { 0.0, 0.0 }; Point B = { 4.0, 0.0 }; Point C = { 2.0, 3.0 }; Point p = { 1.0, 2.0 }; double distance = distanceToClosestMidpoint(p, A, B, C); std::cout << "Расстояние от точки до ближайшей середины стороны треугольника: " << distance << std::endl; return 0; }

Обратите внимание, что в данном примере используются структуры Point для представления точек. Вы можете заменить их на свой собственный способ представления точек, если требуется.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос