Advertisement
BORUTO-121

trapezi

Sep 16th, 2021
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<stdlib.h>
  4.  
  5. struct Tacka {
  6.   double x,y;
  7. };
  8. struct Trapez {
  9.   struct Tacka A,B,C,D;
  10. };
  11.  
  12. double pitagora(struct Tacka A, struct Tacka B){
  13.   return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));
  14. }
  15.  
  16.  
  17. double povrsina_trokuta(struct Tacka A, struct Tacka B, struct Tacka C){
  18.   return fabs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))/2.;
  19. }
  20.  
  21. double visina_trapez(struct Trapez trapez){
  22.   return (2.*povrsina_trokuta(trapez.A,trapez.B,trapez.D))/pitagora(trapez.A,trapez.B);
  23. }
  24.  
  25. double povrsina_trapeza(struct Trapez trapez){
  26.   return (pitagora(trapez.A,trapez.B)+pitagora(trapez.D,trapez.C))*visina_trapez(trapez)/2.;
  27. }
  28.  
  29. double obim_trapez(struct Trapez trapez){
  30.   return pitagora(trapez.A,trapez.B)+pitagora(trapez.A,trapez.D)+pitagora(trapez.C,trapez.B)+pitagora(trapez.C,trapez.D);
  31. }
  32.  
  33. void trapezi(struct Trapez *niz, int vel, double *obim, double *povrsina){
  34.   int i;
  35.   for(i=0;i<vel;i++){
  36.     obim[i]=obim_trapez(niz[i]);
  37.     povrsina[i]=povrsina_trapeza(niz[i]);
  38.   }
  39. }
  40.  
  41. int main(){
  42.   /* AT9: Rotacije */
  43.   struct Trapez niz[] = {
  44.     { {-4,2}, {0.950, 6.950}, {-2.586, 7.657}, {-5.414, 4.828} }, // 45 stepeni
  45.     { {-4,2}, {-7.5, 8.062}, {-9.098, 4.830}, {-7.098, 1.366} }, // 120 stepeni
  46.     { {-4,2}, {-11, 2}, {-9, -1}, {-5, -1} }, // 180 stepeni
  47.     { {-4,2}, {-4, -5}, {-1, -3}, {-1, 1} } // 270 stepeni
  48.   };
  49.   double obimi[4], povrsine[4];
  50.   int i;
  51.  
  52.   trapezi(niz, 4, obimi, povrsine);
  53.   for (i=0; i<4; i++)
  54.     printf("%.2f ", obimi[i]);
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement