Untitled
#include <iostream> #include <algorithm> using namespace std; // Функция для бинарного поиска bool binarySearch(int arr[], int key, int low, int high) { if (low > high) { return false; } int mid = low + (high - low) / 2; if (arr[mid] == key) { return true; } else if (arr[mid] > key) { return binarySearch(arr, key, low, mid - 1); } else { return binarySearch(arr, key, mid + 1, high); } } int main() { int N; cout << "Введите размер массива: "; cin >> N; int A[N]; cout << "Введите элементы массива: "; for (int i = 0; i < N; i++) { cin >> A[i]; } cout << "Исходный массив: "; for (int i = 0; i < N; i++) { cout << A[i] << " "; } cout << endl; // Упорядочивание массива по возрастанию sort(A, A + N); cout << "Отсортированный массив: "; for (int i = 0; i < N; i++) { cout << A[i] << " "; } cout << endl; int M; cout << "Введите число M для поиска: "; cin >> M; // Поиск числа M с использованием бинарного поиска if (binarySearch(A, M, 0, N - 1)) { cout << "Число M найдено в массиве." << endl; } else { cout << "Число M не найдено в массиве." << endl; } return 0; }
Leave a Comment