Back

#include<stdio.h>

#define  min(a, b)  ((a) < (b) ? (a) : (b))
#define max(a, b)  ((a) > (b) ? (a) : (b))

struct point
 {
   int x;
   int y;
 };

struct rect
 {
   struct point pt1;
   struct point pt2;
 };

struct rect canonrect(struct rect r);

int main()
{
struct rect screen  = { {9,7},{2,3} };
struct rect ans = canonrect(screen);
printf("X = %d, %d  Y = %d, %d \n", ans.pt1.x, ans.pt2.x, ans.pt1.y, ans.pt2.y);

return 0;
}

struct rect canonrect(struct rect r)
{
 struct rect temp;

 temp.pt1.x = min(r.pt1.x, r.pt2.x);
 temp.pt1.y = min(r.pt1.y, r.pt2.y);
 temp.pt2.x = max(r.pt1.x, r.pt2.x);
 temp.pt2.y = max(r.pt1.y, r.pt2.y);

return temp;
}

Top