U E D R , A S I H C RSS

중위수구하기/조현태

C++

�낀�

중위수가 먼지 몰�다..;;�;; �터넷�서 뒤져보니 앞과 뒤� 합� 같� 어쩌고 저쩌고...
뭔소린지 몰�서 아�� 소스를 보니 그냥 단순히 가운� 숫�를 �미하는것 같아서, 그걸로 �미를 정하고 작성하였다.
-999를 넣으면 바로 종료��는 �� 없었기� 그냥 세번 물어보고 �내려다, 왠지 ��해서 바꾸려고 하다보니 input� 밖으로 꺼내버렸..
아��꺼와는 다르게 중간� for문� 있기� break를 하면 그냥 밑으로 내려간다는.. 그렇다고 if문� �개 쓰려니 메모리 낭비..
그래서 함수로 빼내버렸다. �잇.. � ��로 ��지~~ 휘�휘� 귀찮다구..ㅎㅎ
그래� � 나름대로 MAX_NUMBER� 3�외� 값� 넣으면(단 홀수! 아�경우 정확한 가운� 값� 아니닷! ) 여러가지로 늘릴 수 있다.^^


코 드

~cpp 
#include <iostream>

using namespace std;

const int MAX_NUMBER=3;
const int BREAK_NUMBER=-999;

void change(int *number1, int *number2)
{
	int temp=*number1;
	*number1=*number2;
	*number2=temp;
}

int input(int *input_number)
{
	for (int i=0; i<MAX_NUMBER; ++i)
	{
		cout << i+1 << "번째 숫�를 입력해 주세요.";
		cin >> input_number[i];
		if (0==i && input_number[0]==BREAK_NUMBER)
			return 0;
	}
	return 1;
}

void main()
{
	int input_number[MAX_NUMBER]={0,};
	while (input(input_number))
	{
		for (int i=0; i<MAX_NUMBER-1; ++i)
		{
			for (int j=0; j<MAX_NUMBER-i-1; ++j)
			{
				if (input_number[j]>input_number[j+1])
					change(&input_number[j],&input_number[j+1]);
			}
		}
		cout << "가운� 값� " << input_number[MAX_NUMBER/2] << "입니다.\n";
	}
}

Erlang

�낀�

졸려.

코드

  • pr_5.erl

-module(pr_5).
-export([getMiddle/3]).
getMiddle(NumA, NumB, NumC) -> [_, A, _] = lists:sort([NumA, NumB, NumC]), A.

  • shell

17> c(pr_5).
{ok,pr_5}
18> pr_5:getMiddle(2, 5, 3).
3

FeedBack

while (input(input_number)) 요거 �해하는� 버벅거렸다; 입력값� -999를 입력받�때까지 계� 입력받는걸로 했구낭ㅇㅅㅇ

while(1)
{
if(input(input_number)==0) break; // �는 if(!input(input_number)) break;
.
.
}

요렇게 하는게 보기 편하지 않�까나;;; -태훈zyint

└ㅎㅎㅎ 어짜피 컴파�하고나면 똑같게 �니까 나아보�기는 한�..^^
ì™ ì§€ 저렇게 ì•약해놓는게 좋아보여서..ì�Œ..ã… .ã…œ
역시 내소스는 ��만한 소스가 아�~!..ㅎㅎㅎ - 조현태
변수 테�블 왜 안지었어 ! ㅋㅋ- 허아�
└아..변수테�블.. 만들어야 하는군..ㅎㅎ 못봤으..ㅎㅎ 내� 만들어 놓�께.^^ - 조현태

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