Advertisement
snowywhitee

Untitled

Dec 2nd, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. #include <stdio.h>
  2. #include "par.c"
  3.  
  4. int main() {
  5. struct par new_par;
  6. scanf("%f %f %f %f %f %f %f %f",
  7. &new_par.x1, &new_par.y1, &new_par.x2,
  8. &new_par.y2, &new_par.x3, &new_par.y3,
  9. &new_par.x4, &new_par.y4);
  10. printf("P: %f\n", p_par(new_par));
  11. printf("S: %f\n", s_par(new_par));
  12. return 0;
  13. }
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. #ifndef par_h
  21. #define par_h
  22.  
  23. struct par {
  24. float x1, y1, x2, y2, x3, y3, x4, y4;
  25. };
  26.  
  27. float p_par(struct par new_par);
  28. float s_par(struct par new_par);
  29. #endif
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36. #include <math.h>
  37. #include "par.h"
  38.  
  39. float p_par(struct par new_par){
  40. float ab, ac, cd, bd;
  41. ab = sqrt(((pow((new_par.x2 - new_par.x1),2)) + pow((new_par.y2 - new_par.y1),2)));
  42. ac = sqrt(((pow((new_par.x3 - new_par.x1),2)) + pow((new_par.y3 - new_par.y1),2)));
  43. cd = sqrt(((pow((new_par.x3 - new_par.x4),2)) + pow((new_par.y3 - new_par.y4),2)));
  44. bd = sqrt(((pow((new_par.x2 - new_par.x4),2)) + pow((new_par.y2 - new_par.y4),2)));
  45. float p = ab + ac + cd + bd;
  46. return p;
  47. }
  48.  
  49. float s_par(struct par new_par){
  50. float a, b, cosfi, sinfi, s;
  51. a = sqrt(pow((new_par.x3 - new_par.x2), 2) + pow((new_par.y3 - new_par.y2), 2));
  52. b = sqrt(pow((new_par.x3 - new_par.x4), 2) + pow((new_par.y3 - new_par.y4), 2));
  53. 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);
  54. sinfi = sqrt(1 - pow(cosfi, 2));
  55. s = a*b*sinfi;
  56. return s;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement