U E D R , A S I H C RSS

중위수구하기/허아영

소 감



코 드

~cpp 
#include <stdio.h>

int search_middleNum(int *, int *, int *);
void changeXY(int *, int *);
void main()
{
	int a, b, c, middleNum;
	while(1){
		printf("멈추려면 '-999 0 0' 입력\n");
		printf("비교할 A, B, C 값을 차례로 입력 : ");
		scanf("%d %d %d", &a, &b, &c);
		if(a == -999){
			break;
		}
		middleNum = search_middleNum(&a, &b, &c);
		printf("중위수 = %d", middleNum);
	}
}

int search_middleNum(int *a, int *b, int *c)
{
	int middle;
	if(*a >= *b){changeXY(a, b);};
	if(*a >= *c){changeXY(a, c);};
	if(*b >= *c){changeXY(b, c);};
	middle = *b;
	return middle;
}

void changeXY(int *x, int *y)
{
	int temp;
	temp = *x;
	*x = *y;
	*y = temp;
}

변수테이블

내가만든 이 프로그램에서 변수 테이블을 만들어 보면.
과정 a b c
. 45 14 38
if(*a >= *b){changeXY(a, b);} 14 45 38
if(*a >= *c){changeXY(a, c);} 14 45 38
if(*b >= *c){changeXY(b, c);} 14 38 45

중간수 *b를 출력한다.

나한테 할 말


음..
A
~cpp 
		middleNum = search_middleNum(&a, &b, &c);
		printf("중위수 = %d", middleNum);
여기를
B
~cpp 
                  printf("중위수 = %d", search_middleNum(&a, &b, &c));
이렇게 바꾸는게 변수도 안낭비하고 좋을 듯 한데..^^
그리고 int search_middleNum(int *a, int *b, int *c) 이함수는 구지 포인터로 값을 넘겨받을 필요는 없지 않나..
그냥 넘겨 받아도 문제는 없을 것 같은데..ㅎㅎㅎ 짜기 편하자너..ㅎㅎ 문제도 줄고..^^
음.. 뭐 단순한 내생각이니 특별히 신경쓰지 말라고~ 집에서 할일없어서 하는 소리니..^^ - 조현태

짜식 내 코드에 관심이 많아 ㅋㅋㅋㅋ 내 코드 좋아해? 아님 싫어하는건가?^^ ㅠㅠ -허아영
└ㅎㅎㅎㅎㅎ 관심이 많아 보이나?? ㅎㅎ 자제해야겠군.ㅎㅎ 단지 할일이 없어서 보다보니 눈에띄었다구..^^ 난 이쁜 아가씨 소스아니면 별로 관심없음!! CC는 버렷..쳇쳇..ㅎㅎ
헐.. 이쁜아가씨가 아니라 미안하군! ㅋ 하핫 씨씨 부럽냐~ ㅋ. 아 우리 너무 잡담 잘해 ㅋㅋ 미안해 자제할게 ㅋ - 허아영
└ㅎㅎ 제아무리 이쁜 아가씨도 임자있으면 안 이쁜 아가씨..ㅋㅋㅋ...그런데 아무래도 위키는 우리가 점거해야겠는걸? ㅎㅎㅎ 이런 수다쟁이들..ㅎㅎ - 조현태
두 친구가 젤 활발하군요. A 코드를 B로 바꾸면 중간 변수의 메모리도 낭비되지 않고, 좀더 최적화에 다가간 코드가 됩니다. 하지만 A를 B로 바꾸면 가독성이 떨어집니다. 상황에 따라 다르겠지만 running time에 별 차이가 없다라고 본다면, 저라면 가독성을 택할 것 같습니다. -- 보창
어떻게 할까 했는데 걍 소트 하믄 되는구나 ㄱ-;;;; 괜히 고민했었다;; - 태훈

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:09
Processing time 0.0123 sec