[질문] 문자열 비교해서 정렬하는거 이상함.
글쓴이: winicon / 작성시간: 목, 2004/08/19 - 12:57오후
안녕하세요.
문자열 비교해서 정렬을 하려는 strcmp함수가 이상하게 안되네요.
예를 들면:
따라서 20,3,1,10,2,30 이런 값들을 strcmp()함수를 사용해서 정렬을 하게 되면 1,10,2,20,3,30 이렇게 나오네요.
단) 예제의 문자열 값들이라서 숫자로 변환해서 하면 안됩니다. 모든값들을 문자열로 처리해서 결과가 제대로 나왔으면 합니다.
이렇게요. => 1,2,3,10,20,30
그럼 즐거운 시간보내세요^^
Forums:
앞에다 0을 붙여서 자리수를 맞추세요.
1,2,3,10,20,30 => 01,02,03,10,20,30
Re: [질문] 문자열 비교해서 정렬하는거 이상함.
strcmp 함수를 수정해 주셔야 겠네요 그럼..
strcmp 함수는 ==>1000, 20 이걸 비교한다고 하면..
1000
20
1,2 (첫번째것을 비교해서 ) 크기가 결정나면서 return 해 버리게 되죠.
strlen 으로 문자열의 크기가 작은것
strlen(1000) ==> 4가 되겠죠
strlen ( 20 ) ==> 2가 되겠죠.. 길이를 먼저 측정해서 크기를 판별하고
이후에.. len 가 같은 것에 대해서 strcmp를 해주면 해결할수 있을듯합니다.
글을 적으면서..~~
생각해 낸것이라.~~ 어설푸지만 될듯하네요.
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
숫자로 변환해서 비교를 하는게 훨씬 깔끔할것 같네요.어차피 변환해서
숫자로 변환해서 비교를 하는게 훨씬 깔끔할것 같네요.
어차피 변환해서 비교만 하고 원 값에 영향을 미치는건 아니니까요.
댓글 달기