Se citesc coordonatele vârfului unui pătrat şi coeficienţii ecuaţiei carteziene generale a unei drepte pe care se găseşte una dintre laturile pătratului care nu trece prin acel vârf. Să se determine coordonatele celorlate vârfuri ale pătratului şi aria pătratului. 12
#include <iostream>
#include <cmath>
using namespace std;
int main() {
// Citim coordonatele vârfului pătratului
double x, y;
cout << „Introduceti coordonatele varfului pătratului: „;
cin >> x >> y;
// Citim coeficienţii ecuaţiei dreptei pe care se găseşte o latură a pătratului
double a, b, c;
cout << „Introduceti coeficientii ecuatiei dreptei: „;
cin >> a >> b >> c;
// Determinăm coordonatele punctelor de tăiere ale dreptei cu axele de coordonate
double x_intercept = -c/a;
double y_intercept = -c/b;
// Determinăm lungimea laturii pătratului folosind distanţa dintre punctele de tăiere
double length = sqrt(pow(x – x_intercept, 2) + pow(y – y_intercept, 2));
// Determinăm coordonatele celorlalte vârfuri ale pătratului
double x2 = x – length * (y – y_intercept) / length;
double y2 = y + length * (x – x_intercept) / length;
double x3 = x2 + length * (y – y_intercept) / length;
double y3 = y2 – length * (x – x_intercept) / length;
// Calculăm aria pătratului
double area = pow(length, 2);
// Afişăm coordonatele celorlalte vârfuri şi aria pătratului
cout << „Coordonatele celorlalte doua varfuri sunt: (” << x2 << „, ” << y2 << „) si (” << x3 << „, ” << y3 << „)” << endl;
cout << „Aria patratului este: ” << area << endl;
return 0;
}
- Determinăm ecuaţia dreptei pe care se găseşte latura pătratului care nu trece prin vârful dat. Aceasta se poate face folosind coeficienţii ecuaţiei generale a dreptei.
- Determinăm intersecţia dreptei cu axele de coordonate pentru a determina punctele de tăiere cu laturile pătratului.
- Determinăm lungimea laturilor pătratului folosind distanţa dintre punctele de tăiere.
- Determinăm coordonatele celorlalte vârfuri folosind lungimea laturii pătratului şi coordonatele vârfului dat.
- Calculăm aria pătratului folosind formula A = latura^2.
Notă: Programul presupune că dreapta dată intersectează o latură a pătratului, dar nu este latura pe care se află vârful dat.