Untitled

 avatar
unknown
plain_text
a year ago
1.6 kB
1
Indexable
#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