디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

소스 올릴게요 한번 봐주세요

과제ㅠ.ㅠ(221.138) 2010.09.29 20:49:58
조회 61 추천 0 댓글 4

#include <stdio.h>
#include <stdlib.h>

#define ax 0
#define ay 1
#define bx 2
#define by 3

void isCrossed(int *vt, int *hz); // 접하는가,교차하는가,그렇지않은가를 구분

void main()
{
        FILE *inFile;
        int i, j, temp=0;
        int noCase=0;
        

        inFile = fopen("input.txt", "r");
        if(inFile == NULL) exit(1);
        fscanf(inFile, "%d", &noCase);
        for(i=0; i<noCase; i++)
        {
                int line1[4], line2[4];
                fscanf(inFile, "%d %d %d %d", &line1[ax], &line1[ay], &line1[bx], &line1[by]);
                fscanf(inFile, "%d %d %d %d", &line2[ax], &line2[ay], &line2[bx], &line2[by]);

                // 계산의 편의를 위해 읽어온 값을 크기순으로 재배열한다.
                //a쪽이b보다 항상 작거나 같은값을 갖는다.
                for(j=0; j<=1; j++)
                {
                        if(line1[j]>=line1[j+2])
                        {
                                temp=line1[j];
                                line1[j]=line1[j+2];
                                line1[j]=temp;
                        }
                        
                        if(line2[j]>=line2[j+2])
                        {
                                temp=line2[j];
                                line2[j]=line2[j+2];
                                line2[j+2]=temp;
                        }
                }
                //수직인 쪽을 대상으로 비교하기 위해 수직을 기준으로 실행한다.

                if((line1[ax]==line1[bx])) // line1이 수직이라면
                        isCrossed(line1, line2);
                else                                        
                        isCrossed(line2, line1);
        
        }
        fclose(inFile);
}

void isCrossed(int *vt, int *hz)
{

        if(vt[ax]<hz[ax]||vt[ax]>hz[bx]) // ㅣ-,-ㅣ 형태 검사
                printf("0\\n");// 벗어나 있는 경우는 100% 접하지 않는다.

        else // 범위 안에 있지만 ㅗ, ㅜ 형태로 되있는 경우 떨어져 있을수도 있으므로
        {
                if(vt[ay]<=hz[ay]&&hz[ay]<=vt[by]) // 수직의 y좌표가 수평의 y좌표를 포함하는가?
                {
                        if(vt[ax]-hz[ay]==0||vt[bx]-hz[ay]==0||vt[ay]-hz[ax]==0||vt[by]-hz[ax]==0)
                                printf("2\\n");
                        else if(vt[ax]-hz[ax]==0||vt[ax]-hz[bx]==0||vt[bx]-hz[ax]==0||vt[bx]-hz[bx]==0) // 두선 모두 꼭지점이 만날경우
                                printf("2\\n");
                        else if(vt[ay]-hz[ax]==0||vt[ay]-hz[bx]==0||vt[by]-hz[ax]==0||vt[by]-hz[bx]==0) // 두선 모두 꼭지점이 만날경우
                                printf("2\\n");
                        else // x좌표가 사이에 있으면서 y좌표를 포함하지만 접하지는 않는다.
                                printf("1\\n"); // 즉, 완전교차한다.
                }
                else
                        printf("0\\n"); // x축 사이에는 있지만 y축이 닿지 않았다.
        }
}


굵게 처리된 부분이 함수로 뺀 다음부터 망가진 부분이네요 ㅠ.ㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
216601 프로그램을 잘 짜기 위해 공부해야 할거슨? [3] 최하늘(203.253) 10.11.08 276 0
216600 훃들 2005인데 실행파일 돌릴라면 프레임워크말고 뭐 있어야되?? [1] ㅋㄹ(221.147) 10.11.08 183 0
216599 기초적인 vtk 질문 좀 할께여 !! [2] bubble(210.117) 10.11.08 259 0
216597 횽들 비쥬얼스튜디오2008좀 물어볼께 [3] MFC(58.236) 10.11.08 270 0
216596 형들 객체노드란 말이 무슨말이야? UML 배운형들 헬프점여 니미블라드갤로그로 이동합니다. 10.11.08 259 0
216595 4년제컴공편입 OR 대기업생산직 고민이 많습니다. [8] 검투사(119.200) 10.11.08 477 0
216594 힘쎄고 강한 튀근 DMW갤로그로 이동합니다. 10.11.08 198 0
216593 화학공학과인데, 프로그래밍쪽으로 가고싶어요 [6] 게가튼년(121.191) 10.11.08 306 0
216592 USB HID장치를 통한 해킹이 가능한가요? [2] 잉여(210.112) 10.11.08 265 0
216591 근데 취업하면 4차원 배열로 문제 풀라는데 트루? [3] 사올2갤로그로 이동합니다. 10.11.08 350 0
216590 혹시 기타치는횽중에 꾹꾹이 싸게 업어갈 횽 계심? [4] 개쉛기갤로그로 이동합니다. 10.11.08 304 0
216588 자바 문제입니다. 형들 제발 도와주세요 ㅜ [3] 카카오(116.37) 10.11.08 243 0
216586 형들 C++인데 도와주세요 ㅠㅠ 제발 ㅠㅠ [5] ㅇㅇ(117.123) 10.11.08 284 0
216584 요즘 회식하고 단체로 룸살롱 가는 회사 있어요? [1] 임베디드(112.150) 10.11.08 393 0
216583 금호족기가 프갤 좆대딩들을 대상으로 질문을 시전합니다 [6] 금호족기(61.75) 10.11.08 120 0
216582 페이스북 해지해쓰!! 분당살람갤로그로 이동합니다. 10.11.08 89 0
216581 아스트라로테 컴온 ㅇㅇㅃ갤로그로 이동합니다. 10.11.08 54 0
216580 형들 알고리즘 공부 할 만한 사이트 없나요 ???? [1] d(112.170) 10.11.08 140 0
216579 아 힘들어... 알바 마쳤으니 다시 공부모드... 대마법서오즈갤로그로 이동합니다. 10.11.08 49 0
216577 C 좀 도와줘봐 [1] 프rog램ing갤로그로 이동합니다. 10.11.08 84 0
216576 형들 프로그래밍 하기엔 공무원이 딱 아냐? [4] ㅁㄴㅇ(61.106) 10.11.08 211 0
216575 c언어 생초보가 질문 [11] 늅늅(180.227) 10.11.08 197 0
216574 긴급하게 비타500 소환~!!!! Rhea갤로그로 이동합니다. 10.11.08 117 0
216573 아싸 오늘 회식이다!!! [1] InSilence갤로그로 이동합니다. 10.11.08 81 0
216572 프갤 형님들 숙제하는데 도저히 모르겠어요 ㅠㅠ 좀 알려주세요 [7] 써니덕후갤로그로 이동합니다. 10.11.08 149 0
216571 뭘 해도 게임 오버 ㅅㅂ Ordinary Day갤로그로 이동합니다. 10.11.08 57 0
216570 날씨가 추워지니까 깔깔이가 생각난다. [5] rntjr갤로그로 이동합니다. 10.11.08 150 0
216568 자격증정보 알아보다가 궁금한점이 있어서요.. [2] Witch Doctor갤로그로 이동합니다. 10.11.08 98 0
216567 편입과 학벌 진지한 고민좀 들어주세요! ㅠㅠ (중복) [10] 영혼쟁이(121.159) 10.11.08 250 0
216565 연예인이랑 사진 찍는 사람 보면 참 이해가 안 되긔..jpg [2] ㅇㅇ(222.107) 10.11.08 243 0
216564 이거 문제좀 고쳐주세요;; 간간하게갤로그로 이동합니다. 10.11.08 39 0
216563 어? 화면 상단에 광고 생겼네? [1] 아주아슬갤로그로 이동합니다. 10.11.08 114 0
216562 아 할거 없다.. 졸립다... [2] InSilence갤로그로 이동합니다. 10.11.08 66 0
216561 이거 구라 같음.. [3] rntjr갤로그로 이동합니다. 10.11.08 212 0
216560 한국 전쟁이 일어난 이유 [3] rntjr갤로그로 이동합니다. 10.11.08 222 0
216559 프갤러들아 왜 하필 정모날짜 일요일이야? [3] 해일리갤로그로 이동합니다. 10.11.08 115 0
216558 프갤러들아 뭐해? [3] 해일리갤로그로 이동합니다. 10.11.08 94 0
216557 안드로이드 결제.......ㅆㅂㅆㅂㅆㅂ 씨발라드세요갤로그로 이동합니다. 10.11.08 170 0
216556 핸드폰이 먹통이라 [2] ㅇㅇㅃ갤로그로 이동합니다. 10.11.08 70 0
216552 일본어 잘하는 횽아 소환! [8] Minryu갤로그로 이동합니다. 10.11.08 164 0
216551 님드라 나 늅늅인데 포인터 존나 어렵다 갈켜줭 [5] 님드랑 ㅠㅠ(183.106) 10.11.08 106 0
216550 아 씨발 갤스 쓰는횽들 필독!! [1] 햏햏했갤로그로 이동합니다. 10.11.08 79 0
216549 api mfc 배우면 게임회사 들어가야뎀?? [5] ㅇ.ㅇ(183.101) 10.11.08 246 0
216548 님들 시력관리 잘하세여 [10] cyluss갤로그로 이동합니다. 10.11.08 182 0
216545 썩을 DDOS... [1] 씨발라드세요갤로그로 이동합니다. 10.11.08 104 0
216544 금일 저녁 한희정 공연 보러 갈 사람? [6] ㅇㅇㅃ갤로그로 이동합니다. 10.11.08 126 0
216543 free함수 제대로 적용된건지 [6] ㅇㅇ(128.134) 10.11.08 105 0
216541 사람들이 날 점점 최감독으로 보기 시작했당 [3] 분당살람갤로그로 이동합니다. 10.11.08 120 0
216540 개춥다 [4] cyluss갤로그로 이동합니다. 10.11.08 74 0
216537 형들 c언어좀 풀어줘~~~~ [4] c언어 마스터(210.97) 10.11.08 339 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2