Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<math.h>
- #include<stdlib.h>
- struct Tacka {
- double x,y;
- };
- struct Trapez {
- struct Tacka A,B,C,D;
- };
- double pitagora(struct Tacka A, struct Tacka B){
- return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y));
- }
- double povrsina_trokuta(struct Tacka A, struct Tacka B, struct Tacka C){
- return fabs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))/2.;
- }
- double visina_trapez(struct Trapez trapez){
- return (2.*povrsina_trokuta(trapez.A,trapez.B,trapez.D))/pitagora(trapez.A,trapez.B);
- }
- double povrsina_trapeza(struct Trapez trapez){
- return (pitagora(trapez.A,trapez.B)+pitagora(trapez.D,trapez.C))*visina_trapez(trapez)/2.;
- }
- double obim_trapez(struct Trapez trapez){
- return pitagora(trapez.A,trapez.B)+pitagora(trapez.A,trapez.D)+pitagora(trapez.C,trapez.B)+pitagora(trapez.C,trapez.D);
- }
- void trapezi(struct Trapez *niz, int vel, double *obim, double *povrsina){
- int i;
- for(i=0;i<vel;i++){
- obim[i]=obim_trapez(niz[i]);
- povrsina[i]=povrsina_trapeza(niz[i]);
- }
- }
- int main(){
- /* AT9: Rotacije */
- struct Trapez niz[] = {
- { {-4,2}, {0.950, 6.950}, {-2.586, 7.657}, {-5.414, 4.828} }, // 45 stepeni
- { {-4,2}, {-7.5, 8.062}, {-9.098, 4.830}, {-7.098, 1.366} }, // 120 stepeni
- { {-4,2}, {-11, 2}, {-9, -1}, {-5, -1} }, // 180 stepeni
- { {-4,2}, {-4, -5}, {-1, -3}, {-1, 1} } // 270 stepeni
- };
- double obimi[4], povrsine[4];
- int i;
- trapezi(niz, 4, obimi, povrsine);
- for (i=0; i<4; i++)
- printf("%.2f ", obimi[i]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement