Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <math.h>
- using namespace std;
- double dl(double, double, double, double); // deklarirane na funkciq za namirane na lice s 4 formalni realni parametara
- double l(double, double, double); // deklarirane na funkciq za namirane na daljinite na stranite s 3 formalni realni parametara
- void input(double& coordsX, double& coordsY) // definirane na procedura za vavejdane na koordinati s 2 formalni realni parametara, koito sa psevdonimi
- {
- cin >> coordsX >> coordsY;
- }
- int main()
- {
- 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;
- cout << setiosflags(ios::fixed) << setprecision(2); // zadavane na 2 znaka sled desetichnata zapetaq
- cout << "**********************************************" << "\n" << "\n";
- cout << "Vavejdane na koordinatite na tochkite:" << "\n" << "\n";
- cout << "Ax, Ay" << "\n";
- input(Ax, Ay); // izvikvane na procedurata za vavejdane na koordinatite na "Ax" i "Ay"
- cout << "\n";
- cout << "Bx, By" << "\n";
- input(Bx, By); // izvikvane na procedurata za vavejdane na koordinatite na "Bx" i "By"
- cout << "\n";
- cout << "Cx, Cy" << "\n";
- input(Cx, Cy); // izvikvane na procedurata za vavejdane na koordinatite na "Cx" i "Cy"
- cout << "\n";
- cout << "Dx, Dy" << "\n";
- input(Dx, Dy); // izvikvane na procedurata za vavejdane na koordinatite na "Dx" i "Dy"
- cout << "\n";
- cout << "Ex, Ey" << "\n";
- input(Ex, Ey); // izvikvane na procedurata za vavejdane na koordinatite na "Ex" i "Ey"
- cout << "\n";
- cout << "**********************************************" << "\n" << "\n";
- cout << "Izchisliavane na daljinite na stranite i diagonalite." << "\n" << "\n";
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- cout << "**********************************************" << "\n" << "\n";
- cout << "stranata a = " << a << "\n"; // izvejdane na stranata "a"
- cout << "stranata b = " << b << "\n"; // izvejdane na stranata "b"
- cout << "stranata c = " << c << "\n"; // izvejdane na stranata "c"
- cout << "stranata d = " << d << "\n"; // izvejdane na stranata "d"
- cout << "stranata e = " << e << "\n" << "\n"; // izvejdane na stranata "e"
- cout << "**********************************************" << "\n" << "\n";
- cout << "Izchisliavane i izvejdane na perimetara (P) i liceto (S)." << "\n" << "\n";
- cout << "**********************************************" << "\n" << "\n";
- double P = a + b + c + d + e; // deklarirane na realna promenliva, koqto prisvoqva stoinostta na sbora ot stranite.
- cout << "P = " << P << "\n"; // izvejdane na "P"
- cout << "L = " << l(a, b, dg1) + l(dg1, c, dg2) + l(dg2, d, e) << "\n" << "\n"; // izvejdane na "L"
- cout << "**********************************************" << "\n";
- return 0;
- }
- double l(double a, double b, double c) // definirane na funkciq za namirane na lice
- {
- 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
- return sqrt(p * (p - a) * (p - b) * (p - c)); // vrushtane na stoinostta na liceto
- }
- double dl(double ax, double ay, double bx, double by) // definirane na funkciq za namirane na daljinite na stranite
- {
- return sqrt(pow(bx - ax, 2) + pow(by - ay, 2)); // vrushtane na stoinostta na daljinite na stranite
- }
Add Comment
Please, Sign In to add comment