1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
struct Point
{
int x, y;
};
struct Triangle
{
Point a;
Point b;
Point c;
};
double perimeter(Triangle uT)
{
//declare variables
double dist1, dist2, dist3, result;
//do maths
dist1 = sqrt((pow((uT.b.x - uT.a.x), 2)) + (pow((uT.b.y - uT.a.y), 2)));
dist2 = sqrt((pow((uT.c.x - uT.b.x), 2)) + (pow((uT.c.y - uT.b.y), 2)));
dist3 = sqrt((pow((uT.c.x - uT.a.x), 2)) + (pow((uT.c.y - uT.a.y), 2)));
result = dist1 + dist2 + dist3;
return result;
}
int main()
{
//declare triangle structure
Triangle dak;
//collect points
cout << "Enter triangle coordinates\n";
cout << "Point A: ";
cin >> dak.a.x;
cin >> dak.a.y;
cout << "Point B: ";
cin >> dak.b.x;
cin >> dak.b.y;
cout << "Point C: ";
cin >> dak.c.x;
cin >> dak.c.y;
//format output
cout << "\nTriangle with points\n(" << dak.a.x << "," << dak.a.y << "), (";
cout << dak.b.x << "," << dak.b.y << "), and (" << dak.c.x << "," << dak.c.y << ")\n";
cout << "has a perimeter of ";
//collect answer in double
double answer = perimeter(dak);
//print result, rounded to 3 decimal places
cout << fixed << setprecision(3) << answer;
return 0;
}
|