Advertisement
PIBogdanov

C++

May 3rd, 2023
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. double dl(double, double, double, double); // deklarirane na funkciq za namirane na lice s 4 formalni realni parametara
  8.  
  9. double l(double, double, double); // deklarirane na funkciq za namirane na daljinite na stranite s 3 formalni realni parametara
  10.  
  11. void input(double& coordsX, double& coordsY) // definirane na procedura za vavejdane na koordinati s 2 formalni realni parametara, koito sa psevdonimi
  12. {
  13.     cin >> coordsX >> coordsY;
  14. }
  15.  
  16. int main()
  17. {
  18.     double Ax = 0.0, Ay = 0.0, Bx = 0.0, By = 0.0, Cx = 0.0, Cy = 0.0, Dx = 0.0, Dy = 0.0, Ex = 0.0, Ey = 0.0;
  19.  
  20.     cout << setiosflags(ios::fixed) << setprecision(2); // zadavane na 2 znaka sled desetichnata zapetaq
  21.  
  22.     cout << "**********************************************" << "\n" << "\n";
  23.  
  24.     cout << "Vavejdane na koordinatite na tochkite:" << "\n" << "\n";
  25.  
  26.     cout << "Ax, Ay" << "\n";
  27.     input(Ax, Ay); // izvikvane na procedurata za vavejdane na koordinatite na "Ax" i "Ay"
  28.  
  29.     cout << "\n";
  30.  
  31.     cout << "Bx, By" << "\n";
  32.     input(Bx, By); // izvikvane na procedurata za vavejdane na koordinatite na "Bx" i "By"
  33.  
  34.     cout << "\n";
  35.  
  36.     cout << "Cx, Cy" << "\n";
  37.     input(Cx, Cy); // izvikvane na procedurata za vavejdane na koordinatite na "Cx" i "Cy"
  38.  
  39.     cout << "\n";
  40.  
  41.     cout << "Dx, Dy" << "\n";
  42.     input(Dx, Dy); // izvikvane na procedurata za vavejdane na koordinatite na "Dx" i "Dy"
  43.  
  44.     cout << "\n";
  45.  
  46.     cout << "Ex, Ey" << "\n";
  47.     input(Ex, Ey); // izvikvane na procedurata za vavejdane na koordinatite na "Ex" i "Ey"
  48.  
  49.     cout << "\n";
  50.  
  51.     cout << "**********************************************" << "\n" << "\n";
  52.  
  53.     cout << "Izchisliavane na daljinite na stranite i diagonalite." << "\n" << "\n";
  54.  
  55.     double a = dl(Ax, Ay, Bx, By); // deklarirane na realna promenliva, koqto prisvoqva stoinost za stranata "a", chrez izvikvane na funkciqta za namirane na lice
  56.  
  57.     double b = dl(Bx, By, Cx, Cy); // deklarirane na realna promenliva, koqto prisvoqva stoinost za stranata "b", chrez izvikvane na funkciqta za namirane na lice
  58.  
  59.     double c = dl(Cx, Cy, Dx, Dy); // deklarirane na realna promenliva, koqto prisvoqva stoinost za stranata "c", chrez izvikvane na funkciqta za namirane na lice
  60.  
  61.     double d = dl(Dx, Dy, Ex, Ey); // deklarirane na realna promenliva, koqto prisvoqva stoinost za stranata "d", chrez izvikvane na funkciqta za namirane na lice
  62.  
  63.     double e = dl(Ex, Ey, Ax, Ay); // deklarirane na realna promenliva, koqto prisvoqva stoinost za stranata "e", chrez izvikvane na funkciqta za namirane na lice
  64.  
  65.     double dg1 = dl(Ax, Ay, Cx, Cy); // deklarirane na realna promenliva, koqto prisvoqva stoinost za diagonal 1, chrez izvikvane na funkciqta za namirane na lice
  66.    
  67.     double dg2 = dl(Ax, Ay, Dx, Dy); // deklarirane na realna promenliva, koqto prisvoqva stoinost za diagonal 2, chrez izvikvane na funkciqta za namirane na lice
  68.  
  69.     cout << "**********************************************" << "\n" << "\n";
  70.  
  71.     cout << "stranata a =  " << a << "\n"; // izvejdane na stranata "a"
  72.  
  73.     cout << "stranata b =  " << b << "\n"; // izvejdane na stranata "b"
  74.  
  75.     cout << "stranata c =  " << c << "\n"; // izvejdane na stranata "c"
  76.  
  77.     cout << "stranata d =  " << d << "\n"; // izvejdane na stranata "d"
  78.  
  79.     cout << "stranata e =  " << e << "\n" << "\n"; // izvejdane na stranata "e"
  80.  
  81.     cout << "**********************************************" << "\n" << "\n";
  82.  
  83.     cout << "Izchisliavane i izvejdane na perimetara (P) i liceto (S)." << "\n" << "\n";
  84.  
  85.     cout << "**********************************************" << "\n" << "\n";
  86.  
  87.     double P = a + b + c + d + e; // deklarirane na realna promenliva, koqto prisvoqva stoinostta na sbora ot stranite.
  88.  
  89.     cout << "P = " << P << "\n"; // izvejdane na "P"
  90.  
  91.     cout << "L = " << l(a, b, dg1) + l(dg1, c, dg2) + l(dg2, d, e) << "\n" << "\n"; // izvejdane na "L"
  92.  
  93.     cout << "**********************************************" << "\n";
  94.  
  95.     return 0;
  96. }
  97.  
  98.  
  99. double l(double a, double b, double c) // definirane na funkciq za namirane na lice
  100. {
  101.     double p = (a + b + c) / 2; // deklarirane na realna promenliva, koqto priema sbora na 3 strani i gi razdelq na 2, taka se namira poluperimetara
  102.  
  103.     return sqrt(p * (p - a) * (p - b) * (p - c)); // vrushtane na stoinostta na liceto
  104. }
  105.  
  106. double dl(double ax, double ay, double bx, double by) // definirane na funkciq za namirane na daljinite na stranite
  107. {
  108.     return sqrt(pow(bx - ax, 2) + pow(by - ay, 2)); // vrushtane na stoinostta na daljinite na stranite
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement