#include void selectionSort(int arr[], int n) { int i, j, minIndex, temp; for (i = 0; i < n - 1; ++i) { minIndex = i; for (j = i + 1; j < n; ++j) { if (arr[j] < arr[minIndex]) { minIndex = j; } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } int binarySearchRecursive(int arr[], int low, int high, int target) { if (low <= high) { int mid = low + (high - low) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid] < target) { return binarySearchRecursive(arr, mid + 1, high, target); } else { return binarySearchRecursive(arr, low, mid - 1, target); } } return -1; } int binarySearchIterative(int arr[], int n, int target) { int low = 0, high = n - 1; while (low <= high) { int mid = low + (high - low) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid] < target) { low = mid + 1; } else { high = mid - 1; } } return -1; } int main() { int n; printf("Enter the number of elements: "); scanf("%d", &n); int arr[n]; printf("Enter %d elements:\n", n); for (int i = 0; i < n; ++i) { scanf("%d", &arr[i]); } selectionSort(arr, n); printf("Sorted array: "); for (int i = 0; i < n; ++i) { printf("%d ", arr[i]); } printf("\n"); int target; printf("Enter the element to search: "); scanf("%d", &target); int recursiveResult = binarySearchRecursive(arr, 0, n - 1, target); if (recursiveResult != -1) { printf("Element found at index (recursive): %d\n", recursiveResult); } else { printf("Element not found (recursive)\n"); } int iterativeResult = binarySearchIterative(arr, n, target); if (iterativeResult != -1) { printf("Element found at index (iterative): %d\n", iterativeResult); } else { printf("Element not found (iterative)\n"); } return 0; }