fbpx

Problema #928 – AriaTriunghi – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau coordonatele în plan a trei puncte. Să se afișeze valoarea ariei triunghiului pe care îl formează.

Date de intrare

Fișierul de intrare ariatriunghi.in conține pe prima linie 6 numere naturale, respectiv: abscisa primului punct, ordonata primului punct, abscisa celui de-al doilea punct, ordonata celui de-al doilea punct, abscisa celui de-al treilea punct, ordonata celui de-al treilea punct.

Date de ieșire

Fișierul de ieșire ariatriunghi.out va conține pe prima linie un număr real, cu exact o zecimală, reprezentând valoarea cerută.

Restricții și precizări

  • Numerele din fișierul de intrare sunt întregi cuprinse între -1001 și 1001.
  • Punctele nu sunt coliniare.

Exemplu

ariatriunghi.in

0 1 1 0 2 1

ariatriunghi.out

1.0
#include <bits/stdc++.h>


using namespace std;
ifstream cin("ariatriunghi.in");
ofstream cout("ariatriunghi.out");
int main()
{
    int x1 , x2 , x3 , y1 , y2 , y3;
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
    double a = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));
    double b = sqrt((x3-x1)*(x3-x1) + (y3-y1)*(y3-y1));
    double c = sqrt((x3-x2)*(x3-x2) + (y3-y2)*(y3-y2));
    double s = (a+b+c) / 2;
    double A = sqrt((s - a) * (s - b) * (s - c) * s);
    cout << fixed << setprecision(1) << A;
    return 0;
}
Comentarii

S-ar putea sa iti placa