337
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și1001. - 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