[C/C++] 가장큰숫자와가장작은숫자함수...
이플
안녕하세요 ^^ 거의 강좌만 보다가 이렇게 글까지 적게되는군요
책보다가 문제중에 이런문제가 잇더군요 함수인자로 정수타입3개를 받는 함수를 구현해라고하더군요
버블소트이용해서 구현할수도잇겟지만 인자3개받는데 그렇게까지 할필요가잇나생각해서..
if/switch문 사용해서 비교연산자사용하니깐 소스코드가 길어지더라구요 가독성도 떨어지고
나름대로 고민하다가..
int big(int a,int b, int c)
{
int numerbig;
numerbig = ab ? a:b;
numerbig = numerbigc ? numerbig:c;
return numerbig;
}
int small(int a,int b,int c)
{
int numersmall;
numersmall = ab ? a:b;
numersmall = numersmallc ? numersmall:c;
return numersmall;
}요렇게 구현하였는데요 3항연산자를 이용해서 a가크면 a값을 변수에넣구 거짓이면 b값을 변수에넣구
그결과를 다시 c랑 비교해서 다시같은변수에넣고
정답인지는 모르겟지만 보통 이런 큰값작은값비교할때 이런방식의 코딩은 좋은것인가 생각하다가
혼자서는 판단이 서질않아서 조언을 얻고자 질문드립니다.^^
읽어주신분께 감사드립니다.
-
가랑비
머찐성욱 // -_-b 삼항연산자를 저렇게. 중첩해서 쓸 수 있다는것도 매력이죠~ ^_^;
그리고. 정답은 없다고 생각하구요. 우선 자신이 짤 수 있다면. 성공했다고 봅니다. 그 다음 과제는. 얼마나 효율적으로 돌릴것이냐~ 를 생각하면 되겠지요? ^_^? 그것 역시 자신이 생각하는 한계까지만 가면.. 충분하다고 생각합니다.
후에.. 고수님들의 코드를 보게 되면.. 감탄하게 되는건.. 하수나 중수의 입장에서는 어쩔수 없는 일인깐요 ^_^; -
큰돛
뭐.. 이런게 정답이 어딨습니까? 잘 짜신거 같은데요?
더 짧게 한다면 big을 이렇게도 해볼 수 있을듯 하네요...
return ab ? (ac ? a : c) : (bc ? b : c);
이렇게 하면 어떨까요? ㅋ