조회 수 360 추천 수 0 댓글 0

#include <stdio.h>

int dot[3][2];

double ruler(double len);
int main(void)
{
	int i, length;
	double result;

	scanf(" %d", &length); //줄자의 길이 입력

	for(i=0; i<3; i++) //점의 위치 입력 
		scanf(" %d %d", &dot[i][0], &dot[i][1]);

	result=ruler((double)length);

	printf("%.1f", result);

	return 0;
}
double ruler(double len)
{
	int i, j, k;
	double mid;

	for(i=0; i<3; i++)
	{
		if(dot[i][0]!=dot[i][1]) //점이 겹치지 않울 때 
		{
			mid=(double)(dot[i][0]+dot[i][1])/2.0; //점이 겹쳐지는 중점 위치

			if(mid<(len-mid)) //중점을 기준으로 왼쪽보다 오른쪽이 더 길 때
			{
				for(j=i+1; j<3; j++) //중점을 기준으로 줄자를 접고, 시작 위치는 0으로
				{
					for(k=0; k<2; k++)
					{
						if(dot[j][k]>mid) //중점보다 오른쪽에 있거나 같은 점
							dot[j][k]=len-dot[j][k];

						else //중점보다 왼쪽에 있는 점
							dot[j][k]+=len-(mid*2);
					}
				}
				len-=mid; //중점을 기준으로 접은 후 줄자의 길이
			}

			else //중점을 기준으로 오른쪽보다 왼쪽이 더 길 때 
			{
				for(j=i+1; j<3; j++) //중점을 기준으로 줄자 접기
				{
					for(k=0; k<2; k++)
					{
						if(dot[j][k]>mid)//중점보다 오른쪽에 있는 점
							dot[j][k]=mid-(dot[j][k]-mid);

						//중점보다 왼쪽에 있는 점은 이동할 필요가 없다
					}
				}
				len=mid; //중점을 기준으로 접은 후 줄자의 길이
			}
		}
	}

	return len;
}



List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 글쓰기는 하루 5개, 댓글은 10개만 가능합니다. 좋은아빠되기 2019.02.15 298
공지 키보드 화살표값 출력 좋은아빠되기 2016.11.19 1076
공지 원하는 좌표에 값 출력하기 좋은아빠되기 2016.11.19 2393
공지 Python(파이썬) 학습 자료 PDF 1 file 좋은아빠되기 2014.12.10 10289
공지 dev C++ 텍스트 색상변경 WinApi사용(textcolor 대용) 좋은아빠되기 2014.06.07 4713
공지 DEV-C++ 기본 코드 좋은아빠되기 2013.06.19 8252
공지 무료 C++ 컴파일러(윈도우용) DEV-C++ 좋은아빠되기 2013.06.18 18954
공지 이클립스 C++ 설치 파일들 좋은아빠되기 2013.06.18 37844
349 정올 기초다지기(포인터-자가진단4) killerjack 2014.11.15 560
348 정올 기초다지기(포인터-자가진단5) killerjack 2014.11.15 537
347 정올 기초다지기(포인터-자가진단6) killerjack 2014.11.15 493
346 정올 기초다지기(포인터-자가진단7) killerjack 2014.11.15 508
345 정올 기초다지기(aG001-포인터1) killerjack 2014.11.15 442
344 정올 기초다지기(aG002-포인터2) killerjack 2014.11.15 471
343 정올 기초다지기(aG003-포인터3) killerjack 2014.11.15 428
342 정올 기초다지기(aG004-포인터4) killerjack 2014.11.15 364
341 정올 기초다지기(aG005-포인터5) killerjack 2014.11.22 536
340 정올 기초다지기(파일 입출력-자가진단1) killerjack 2014.11.22 1067
339 정올 기초다지기(파일 입출력-자가진단2) killerjack 2014.11.22 575
338 test killerjack 2014.12.20 247
337 visual studio 무료 다운로드 및 기타 컴파일러들 좋은아빠되기 2015.03.23 1112
336 정올 기초다지기(파일입출력-자가진단3) killerjack 2015.04.11 578
335 정올 기초다지기(파일입출력-자가진단4)미완성 killerjack 2015.04.11 272
334 ddd 선우 2016.03.05 44
333 c언어 곱셈 처리(선우) 선우 2016.03.05 132
332 3의 배수 5의 배수 빼기(승민) 승민 2016.03.05 205
331 c언어 곱셈 처리 2 (선우_) 선우 2016.03.05 125
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 26 Next
/ 26