어차피 오늘 시험 본 내용인데, 쓰다가 실패함..

하여간 기억나는데로, 코딩 해봤는데, 왜 최대값, 최소값 쪽 출력이 안될까?

난수로 만들어서 (10 ~ 40) 10개 있는 구조체에 넣은다음에

 (x1-x2) *(y1-y2) 식으로 넓이를 구한다음에 10개 중 최대값, 최소값을 찾아서 인쇄

대충 이런내용임.

#include <stdio.h>
#include <time.h>
#pragma warning(disable:4996)

struct Point{
        int x;
        int y;
};

struct Rectangle {
        struct Point Left;
        struct Point Right;
        int area;
};

int main()
{
        struct Rectangle r[10];
        struct Rectangle *p;
        struct Rectangle *Result;
        int i;
        int j, k;
        int max, min;
        max = min = 0;
        j = k = 0;
        p = &r;
        Result = &r;

        srand((unsigned)time(NULL));
        for(i = 0; i < 10; i++)
        {
                (p+i)->Left.x = rand() % 30 + 10;
                (p+i)->Left.y = rand() % 30 + 10;
                (p+i)->Right.x = rand() % 30 + 10;
                (p+i)->Right.y = rand() % 30 + 10;
        }

        for(i = 0; i < 10; i++){

                printf(\"%5d%5d%5d%5d\\n\", (p+i)->Left.x, (p+i)->Left.y, (p+i)->Right.x, (p+i)->Right.y);

                Result->area = ((p+i)->Left.x - (p+i)->Right.x) * ((p+i)->Left.y - (p+i)->Right.y);
                if(max < Result->area){ 
                        max = Result->area;
                        j++;
                        if(j > 8){
                                printf(\"r[%d]의 {(%5d,%5d),(%5d,%5d)}는 면적 %5d인 최대값\\n\", i, (p+i)->Left.x, (p+i)->Left.y, (p+i)->Right.x, (p+i)->Right.y ,max);
                        }
                }
                if(min > Result->area){ 
                        min = Result->area;
                        k++;
                        if(k > 8){
                                printf(\"r[%d]의 {(%5d,%5d),(%5d,%5d)}는 면적 %5d인 최대값\\n\", i, (p+i)->Left.x, (p+i)->Left.y, (p+i)->Right.x, (p+i)->Right.y ,max);
                        }
                }
        }
        
        return 0;
}