Răspuns :
#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
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!