C/C++

Программирование на языке C++

Помогите написать программу на языке С++. (Известны координаты вершин треугольника. Записать и реализовать алгоритм вычисления координат его инцентра).
#include <iostream>
using namespace std;
struct Coord {
double x, y;
Coord() : x(0), y(0) {}
double length(const Coord& p)const {
return sqrt(pow(x - p.x, 2) + pow(y - p.y, 2));
}
};
struct Triangle {
Coord a, b, c;
Coord center()const {
auto ab = a.length(b);
auto bc = b.length(c);
auto ca = c.length(a);
auto len = ab + bc + ca;
Coord p;
p.x = (a.x * bc + b.x * ca + c.x * ab) / len;
p.y = (a.y * bc + b.y * ca + c.y * ab) / len;
return p;
}
};
Coord point(const char* name) {
Coord p;
cout << name << "x: ";
cin >> p.x;
cout << name << "y: ";
cin >> p.y;
return p;
}
int main() {
Triangle t;
t.a = point("a");
t.b = point("b");
t.c = point("c");
auto cc = t.center();
cout
<< "x: " << cc.x << '\n'
<< "y: " << cc.y << '\n';
system("pause >> nul");
}
Николай Штумпф
Николай Штумпф
86 075
Лучший ответ
Если я правильно понял ( https://znanija.com/task/12686801 ):
#include <iostream>

using namespace std;

int main()
{
double Ax, Ay; /* координата A */
double Bx, By; /* координата B */
double Cx, Cy; /* координата C */
double Ox, Oy; /* координата центра треугольника */

cout << "Введите координаты A: ";
cin >> Ax >> Ay;

cout << "Введите координаты B: ";
cin >> Bx >> By;

cout << "Введите координаты C: ";
cin >> Cx >> Cy;

/* Рассчёт координат центра */
Ox = (Ax + Bx + Cx)/3.0;
Oy = (Ay + By + Cy)/3.0;

/* Координаты центра */
cout << '(' << Ox << ';' << Oy << ')' << endl;

return 0;
}