Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <iomanip>
- using namespace std;
- struct direct
- {
- double a = 0, b = 0;
- double parametr = 0;
- };
- struct vershina
- {
- double x, y;
- };
- vershina seredina_storon (vershina one, vershina two)
- {
- vershina seredina;
- seredina.x = (one.x + two.x)/2;
- seredina.y = (one.y + two.y)/2;
- return seredina;
- }
- direct mediana (vershina head, vershina seredina)
- {
- direct stright;
- if(head.x - seredina.x != 0)
- {
- stright.a = (head.y - seredina.y)/(head.x - seredina.x);
- stright.b = head.y - stright.a*head.x;
- }
- else stright.parametr = head.x;
- return stright;
- }
- vershina point (direct mediana_1, direct mediana_2)
- {
- vershina otvet;
- if (mediana_1.parametr == 0 && mediana_2.parametr == 0)
- {
- otvet.x = (mediana_2.b - mediana_1.b)/(mediana_1.a - mediana_2.a);
- otvet.y = mediana_1.a*otvet.x + mediana_1.b;
- }
- else if (mediana_1.parametr != 0)
- {
- otvet.x = mediana_1.parametr;
- otvet.y = mediana_2.a*otvet.x + mediana_2.b;
- }
- else
- {
- otvet.x = mediana_2.parametr;
- otvet.y = mediana_1.a*otvet.x + mediana_1.b;
- }
- return otvet;
- };
- int main ()
- {
- vershina A, B, C, toshka;
- cin >> A.x >> A.y >> B.x >> B.y >> C.x >> C.y;
- vershina middleAB = seredina_storon(A, B);
- vershina middleBC = seredina_storon(B, C);
- direct medianaA = mediana(A, middleBC);
- direct medianaC = mediana(C, middleAB);
- toshka = point(medianaA, medianaC);
- cout.precision(6);
- cout << fixed << toshka.x << " ";
- cout << fixed << toshka.y;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement