Aria unui triunghi folosind coordonatele acestora în C++
Dându-se trei puncte în plan, să se determine aria triunghiului pe care îl formează.
Exemplu. Pentru punctele (1, 1)
, (4, 3)
și (-2, 3)
, triunghiul are
aria 6
. Putem observa triunghiul în imagine:
Metoda de rezolvare
Am discutat într-un alt articol cum se calculează distanța dintre două
puncte. Astfel, știind
coordonatele punctelor, putem foarte ușor să determinăm laturile triunghiului.
De aici, putem calcula perimetrul, și implicit, semiperimetrul triunghiului
nostru (perimetrul împărțit la 2
).
Există în matematică o formulă celebră de determinare a ariei unui triunghi, având doar semiperimetrul acestuia. Formula lui Heron ne spune că aria unui triunghi este egală cu formula:
Având această formulă, putem foarte ușor să rezolvăm problema.
Implementare C++
Vom folosi anumite funcții care să ne ajute să calculăm valorile cerute.
#include <iostream>
#include <cmath> //Pentru funcția sqrt
using namespace std;
double dist(int x1, int y1, int x2, int y2) { //Funcție ajutătoare pentru a calcula distanța dintre două puncte
int deltaX = x1 - x2;
int deltaY = y1 - y2;
return sqrt(deltaX * deltaX + deltaY * deltaY);
}
int main()
{
//Declarăm și citim coordonatele celor trei puncte
int x1, y1, x2, y2, x3, y3;
cout << "Primul punct: ";
cin >> x1 >> y1;
cout << "Al doilea punct: ";
cin >> x2 >> y2;
cout << "Al treilea punct: ";
cin >> x3 >> y3;
//Declarăm și calculăm laturile triunghiului, precum și perimetrul acestuia
double a, b, c, p; //Folosim double, deoarece distanțele nu sunt neapărat numere întregi
a = dist(x1, y1, x2, y2);
b = dist(x1, y1, x3, y3);
c = dist(x2, y2, x3, y3);
p = (a + b + c) / 2;
//Calculăm și afișăm aria, folosind formula lui Heron
double arie = sqrt(p * (p - a) * (p - b) * (p - c));
cout << "Aria triunghiului este " << arie;
return 0;
}
Alte note și resurse
DS
Autorul acestei lecții
Dominic Satnoianu
Această lecție a fost redactată de către Dominic Satnoianu.
© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.
Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.
Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.
Comentarii 0