~cpp #include <stdio.h> int * sort(int aArr[]); void swap(int & aVal1, int & aVal2); const int SIZE = 10; int search(const int aArr[], const int aNum, int front, int rear); void main() { int arr[SIZE] = {1,13,11, 22,6,4,72,11,9,10}; int * p_arr = sort(arr); int result = search(arr, 1, 0, SIZE); printf("Position : %d\n", result); } int * sort(int aArr[]) { for ( int i = 0 ; i < SIZE ; i++) for ( int j = 0 ; j < SIZE ; j++) if ( aArr[i] < aArr[j] ) swap(aArr[i], aArr[j]); return aArr; } void swap(int & aVal1, int & aVal2) { int temp = aVal1; aVal1 = aVal2; aVal2 = temp; } int search(const int aArr[], const int aNum, int front, int rear) { if ( front <= rear ) { int mid = (front + rear)/2; if ( aNum == aArr[mid] ) return mid; else if ( aNum > aArr[mid] ) return search( aArr, aNum, mid + 1, rear ); else return search( aArr, aNum, front, mid - 1); } return -1; }