728x90
#include<stdio.h> void main() { int left, mid, right, i,j, cnt, find=0,min, index,q=0; int num[] = {2,10,3,4,5,6,13,8,9}; cnt = sizeof(num)/sizeof(int); // 배열의 크기 탐색 // 배열 정렬 for ( i = 0; i < cnt-1; i++ ) { index = i; min = num[i]; for ( j = i + 1; j < cnt; j++ ) { if ( min > num[j] ) { min = num[j]; index = j; } } num[index] = num[i]; num[i] = min; } left = 0; right = cnt; for(i=0;i<cnt;i++) printf("%5d",num[i]); printf("\n이 배열 에서 찾으려는값 : "); scanf("%d",&find); //탐색 for(i=0;i<cnt;i++) { mid = (left+right)/2; if(find==num[mid]) { break; } else if(find<num[mid]) right = mid-1; else left = mid+1; } if(i!=cnt) printf("%d는 num[%d]에 있습니다.\n",find,mid); else printf("없긔\n"); }
'it > programming' 카테고리의 다른 글
Simple Words를 통한 개발자의 기쁨 (0) | 2012.07.22 |
---|---|
[ C++ ] 재귀함수를 사용한 Hailstone( 우박수 : 콜라츠의 추측 ) (5) | 2012.06.13 |
[ C++ ] Call by reference 기법을 이용한 최대값 구하기 (0) | 2012.05.28 |