Se consideră patru puncte A, B, C, D date în plan prin coordonatele lor (reale). Să se construiască o funcţie C care determină dacă ABCD este romb.
Răspunsuri la întrebare
#include <iostream>
#include <cmath>
using namespace std;
//Structura care retine coordonatele unui punct
struct Punct {
float x, y;
};
//Functie care retruneaza distanta intre doua puncte
float distanta(Punct a, Punct b) {
return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
bool testRomb(Punct a, Punct b, Punct c, Punct d) {
float ab = distanta(a, b);
float bc = distanta(b, c);
float cd = distanta(c, d);
float ad = distanta(a, d);
if (ab == bc && ab == cd && ab == ad) return true;
return false;
}
int main() {
Punct a, b, c, d;
cout << "Coordonate puncte : ";
cin >> a.x >> a.y;
cin >> b.x >> b.y;
cin >> c.x >> c.y;
cin >> d.x >> d.y;
if (testRomb(a, b, c, d)) cout << "Da";
else cout << "Nu";
}
Explicatie :
Patru puncte A,B,C,D formeaza un romb daca si numai daca AB=BC=CD=AD.
AB = distanta euclidica intre punctele A si B