Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "par.c"
- int main() {
- struct par new_par;
- scanf("%f %f %f %f %f %f %f %f",
- &new_par.x1, &new_par.y1, &new_par.x2,
- &new_par.y2, &new_par.x3, &new_par.y3,
- &new_par.x4, &new_par.y4);
- printf("P: %f\n", p_par(new_par));
- printf("S: %f\n", s_par(new_par));
- return 0;
- }
- #ifndef par_h
- #define par_h
- struct par {
- float x1, y1, x2, y2, x3, y3, x4, y4;
- };
- float p_par(struct par new_par);
- float s_par(struct par new_par);
- #endif
- #include <math.h>
- #include "par.h"
- float p_par(struct par new_par){
- float ab, ac, cd, bd;
- ab = sqrt(((pow((new_par.x2 - new_par.x1),2)) + pow((new_par.y2 - new_par.y1),2)));
- ac = sqrt(((pow((new_par.x3 - new_par.x1),2)) + pow((new_par.y3 - new_par.y1),2)));
- cd = sqrt(((pow((new_par.x3 - new_par.x4),2)) + pow((new_par.y3 - new_par.y4),2)));
- bd = sqrt(((pow((new_par.x2 - new_par.x4),2)) + pow((new_par.y2 - new_par.y4),2)));
- float p = ab + ac + cd + bd;
- return p;
- }
- float s_par(struct par new_par){
- float a, b, cosfi, sinfi, s;
- a = sqrt(pow((new_par.x3 - new_par.x2), 2) + pow((new_par.y3 - new_par.y2), 2));
- b = sqrt(pow((new_par.x3 - new_par.x4), 2) + pow((new_par.y3 - new_par.y4), 2));
- cosfi = ((new_par.x2 - new_par.x3)*(new_par.x3 - new_par.x4) + (new_par.y2 - new_par.y3)*(new_par.y3 - new_par.y4))/(a*b);
- sinfi = sqrt(1 - pow(cosfi, 2));
- s = a*b*sinfi;
- return s;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement