SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <iostream> | |
| 2 | #include <cmath> | |
| 3 | using namespace std; | |
| 4 | ||
| 5 | void printArea(double coord[]); | |
| 6 | ||
| 7 | int main() | |
| 8 | {
| |
| 9 | ||
| 10 | cout << "Enter the coordinates of six points: \n"; | |
| 11 | double coord[12]; | |
| 12 | cin >> coord[12]; | |
| 13 | ||
| 14 | ||
| 15 | cout << "The total area is "; | |
| 16 | printArea(coord); | |
| 17 | ||
| 18 | return 0; | |
| 19 | } | |
| 20 | ||
| 21 | ||
| 22 | void printArea(double coord[]) | |
| 23 | {
| |
| 24 | double D[9]; | |
| 25 | ||
| 26 | D[0] = sqrt(pow(coord[0] - coord[2], 2) + pow(coord[1] - coord[3], 2)); | |
| 27 | D[1] = sqrt(pow(coord[2] - coord[4], 2) + pow(coord[3] - coord[5], 2)); | |
| 28 | D[2] = sqrt(pow(coord[0] - coord[4], 2) + pow(coord[1] - coord[5], 2)); | |
| 29 | D[3] = sqrt(pow(coord[4] - coord[6], 2) + pow(coord[5] - coord[7], 2)); | |
| 30 | D[4] = sqrt(pow(coord[0] - coord[6], 2) + pow(coord[1] - coord[7], 2)); | |
| 31 | D[5] = sqrt(pow(coord[6] - coord[8], 2) + pow(coord[7] - coord[9], 2)); | |
| 32 | D[6] = sqrt(pow(coord[0] - coord[8], 2) + pow(coord[1] - coord[9], 2)); | |
| 33 | D[7] = sqrt(pow(coord[8] - coord[10], 2) + pow(coord[9] - coord[11], 2)); | |
| 34 | D[8] = sqrt(pow(coord[0] - coord[10], 2) + pow(coord[1] - coord[11], 2)); | |
| 35 | /* Can you figure out a way to do this in a loop? */ | |
| 36 | ||
| 37 | double S[4]; | |
| 38 | S[0] = (D[0] + D[1] + D[2]) / 2; | |
| 39 | S[1] = (D[2] + D[3] + D[4]) / 2; | |
| 40 | S[2] = (D[4] + D[5] + D[6]) / 2; | |
| 41 | S[3] = (D[6] + D[7] + D[8]) / 2; | |
| 42 | /* Can you figure out a way to do this in a loop? */ | |
| 43 | ||
| 44 | double A[4]; | |
| 45 | A[0] = sqrt(S[0] * (S[0] - D[0]) * (S[0] - D[1]) * (S[0] - D[2])); | |
| 46 | A[1] = sqrt(S[1] * (S[1] - D[2]) * (S[1] - D[3]) * (S[1] - D[4])); | |
| 47 | A[2] = sqrt(S[2] * (S[2] - D[4]) * (S[2] - D[5]) * (S[2] - D[6])); | |
| 48 | A[3] = sqrt(S[3] * (S[3] - D[6]) * (S[3] - D[7]) * (S[3] - D[8])); | |
| 49 | /* Can you figure out a way to do this in a loop? */ | |
| 50 | ||
| 51 | double TotalArea = 0; | |
| 52 | for (int i = 0; i < 4; i++) | |
| 53 | {
| |
| 54 | TotalArea += A[i]; | |
| 55 | } | |
| 56 | cout << TotalArea << endl; | |
| 57 | ||
| 58 | } |