int main(void) { double dist, sqrt(double); struct point *pp, pt, middle, ptmp; struct rect screen; pt = makepoint(320,240); ptmp = makepoint(640,480); printf("%d, %d\n", pt.x, pt.y); printf("%d, %d\n", ptmp.x, ptmp.y); ptmp = addpoint(pt, ptmp); pp = &ptmp; printf("%d, %d\n", (*pp).x, (*pp).y); printf("%d, %d\n", pp->x, pp->y); dist = sqrt((double)pt.x * pt.x + (double)pt.y * pt.y); printf("%f\n", dist); screen = makerect(makepoint(0,0), makepoint(XMAX, YMAX)); middle = makepoint((screen.pt1.x + screen.pt2.x)/2, (screen.pt1.y + screen.pt2.y)/2); printf("%d, %d\n", middle.x, middle.y); pt = makepoint(2000,2000); printf(ptinrect(pt, screen) == 1 ? "point is in rec.\n ":"point is out rect.\n"); return 0; }
// // structures void structures() { t_point *pt = makepoint(2, 3, "alfa"); printpoint(pt); t_rect *rect = makerect(*makepoint(10, 10, "p1"), *makepoint(20, 20, "p2")); printrect(rect); printf("Area: %d\n", calcarea(rect)); printf("Area: %d\n", calcarea2(*rect)); free(pt); free(rect); }
main() { int i; point x, origin = { 0, 0 }, maxpt = { 320, 320 }; point pts[] = { -1, -1, 1, 1, 20, 300, 500, 400 }; rect screen = makerect(addpoint(maxpt, makepoint(-10, -10)), addpoint(origin, makepoint(10, 10))); for (i = 0; i < sizeof pts/sizeof pts[0]; i++) { printf("(%d,%d) is ", pts[i].x, (x = makepoint(pts[i].x, pts[i].y)).y); if (ptinrect(x, screen) == 0) printf("not "); printf("within [%d,%d; %d,%d]\n", screen.pt1.x, screen.pt1.y, screen.pt2.x, screen.pt2.y); } odd(y); return 0; }
int main() { struct point p, p1, p2; struct rect r; p1 = makepoint(4, 6); p2 = makepoint(6, 4); p = addpoints(p1, p2); /* p.x = 4; // punkt, który ma odciętą 4 p.y = 6; // punkt, który ma odciętą 6 (zamiast tego mamy makepoint) */ printf("p = (%d, %d)\n", p.x, p.y); r = makerect(p1, p2); printf("r = (%d, %d) (%d, %d)\n", r.ll.x, r.ll.y, r.ur.x, r.ur.y); return 0; }