Advertisement
myloyo

cpp 2

Oct 3rd, 2023
1,171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.92 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. int main() {
  7.     cin.tie(0);
  8.     ios_base::sync_with_stdio(0);
  9.     setlocale(LC_ALL, "Russian");
  10.     SetConsoleCP(1251);
  11.     SetConsoleOutputCP(1251);
  12.  
  13.     int Ax, Ay, Bx, By, Cx, Cy, Dx, Dy;
  14.     cin >> Ax >> Ay >> Bx >> By >> Cx >> Cy >> Dx >> Dy;
  15.  
  16.     double ab = sqrt((Bx - Ax) * (Bx - Ax) + (By - Ay) * (By - Ay));
  17.     double bc = sqrt((Cx - Bx) * (Cx - Bx) + (Cy - By) * (Cy - By));
  18.     double cd = sqrt((Dx - Cx) * (Dx - Cx) + (Dy - Cy) * (Dy - Cy));
  19.     double ad = sqrt((Ax - Dx) * (Ax - Dx) + (Ay - Dy) * (Ay - Dy));
  20.     double ac = sqrt(pow(Cx - Ax, 2) + pow(Cy - Ay, 2));
  21.     double bd = sqrt(pow(Bx - Dx, 2) + pow(By - Dy, 2));
  22.     double eps = 1e-10;
  23.  
  24.     if (abs(ab - bc) < eps && abs(bc - cd) < eps && abs(cd - ad) < eps && abs(ad - ab) < eps) {
  25.         if (abs(ac - bd) < eps) {
  26.             cout << "Квадрат" << endl;
  27.             double p = ab + bc + cd + ad;
  28.             double s = ab * bc;
  29.             cout << "Периметр = " << p << endl;
  30.             cout << "Площадь = " << s << endl;
  31.         }
  32.         else {
  33.             cout << "Ромб" << endl;
  34.             double p = ab + bc + cd + ad;
  35.             double s = 0.5 * ac * bd;
  36.             cout << "Периметр = " << p << endl;
  37.             cout << "Площадь = " << s << endl;
  38.         }
  39.     }
  40.     else if (abs(ab - cd) < eps && abs(bc - ad) < eps && abs(ab - bc) > eps) {
  41.         if (abs(ac - bd) < eps) {
  42.             cout << "Прямоугольник" << endl;
  43.             double p = ab + bc + cd + ad;
  44.             double s = ab * bc;
  45.             cout << "Периметр = " << p << endl;
  46.             cout << "Площадь = " << s << endl;
  47.         }
  48.         else {
  49.             cout << "Параллелограмм" << endl;
  50.         }
  51.     }
  52.     else {
  53.         cout << "Не параллелограмм" << endl;
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement