-
Notifications
You must be signed in to change notification settings - Fork 0
/
day7Problem2.cpp
50 lines (42 loc) · 1.55 KB
/
day7Problem2.cpp
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
/*
Day 7
Problem Statement 2
There are N Points in 2d Cartesian Plane You Have To Calculate The Area Of
largest Triangle In The Cartesian Plane and also calculate the largest perimeter
of triangle formed in the plane
Cartesian Plane is Given in form of 2d arrray with n rows and 2 column where
first column is for x coordinate and second row is for y coordinate
Input Format:
Take input for n rows and in each row take input for x and y coordinate.
Output Format:
first line of output contains the largest area and second line contains largest perimeter.
Constraints:
N>=3 and N<=100
coordinate values can also have negative values because we are considering
cartesian plane
Test Cases:
Input: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
Output: Area:2.00 and Perimter:4+2*(underroot 2)
*/
#include<iostream>
#include <math.h>
using namespace std;
int main(){
int n;
cin >> n;
float pts[n][2];
for(int i=0;i<n;i++){
cin >>pts[i][0]>>pts[i][1];
}
float tr[3][2];
float area,perimeter;
if(n == 3){
for(int i=0;i<3;i++){
tr[i][0] = pts[i][0];
tr[i][1] = pts[i][1];
}
area = (1/2)*(tr[0][0]*(tr[1][1] - tr[1][2]) + tr[0][1]*(tr[1][2] - tr[1][0]) + tr[0][2]*(tr[1][0] - tr[1][1]));
perimeter = sqrt((tr[0][0]*tr[0][0] - tr[1][0]*tr[1][0])) + sqrt((tr[0][0]*tr[0][0] - tr[1][0]*tr[1][0])) + sqrt((tr[0][0]*tr[0][0] - tr[1][0]*tr[1][0]));
cout <<area;
}
}