//Сы Юйхао, 1032255367,НКАбд-04-25,27.2.26, 19:45
//Написать функцию для бинарного поиска элемента в упорядоченном массиве.
#include <iostream>
using namespace std;
int h(int a[], int size, int x) {
int left = 0, right = size - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (a[mid] == x) return mid;
else if (a[mid] < x) left = mid + 1;
else right = mid - 1;
}
return -1;
}
int main() {
int size;
cout << "Введите размер массива: ";
cin >> size;
int a[size];
cout << "Введите элементы массива:\n";
for (int i = 0; i < size; i++)
cin >> a[i];
int x;
cout << "Введите искомый элемент: ";
cin >> x;
int pos = h(a, size, x);
if (pos != -1)
cout << "Позиция: " << pos << endl;
else
cout << "Не найдено" << endl;
return 0;
}
Ly/QodGLINCu0LnRhdCw0L4sIDEwMzIyNTUzNjcs0J3QmtCQ0LHQtC0wNC0yNSwyNy4yLjI2LCAxOTo0NQovL9Cd0LDQv9C40YHQsNGC0Ywg0YTRg9C90LrRhtC40Y4g0LTQu9GPINCx0LjQvdCw0YDQvdC+0LPQviDQv9C+0LjRgdC60LAg0Y3Qu9C10LzQtdC90YLQsCDQsiDRg9C/0L7RgNGP0LTQvtGH0LXQvdC90L7QvCDQvNCw0YHRgdC40LLQtS4KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGgoaW50IGFbXSwgaW50IHNpemUsIGludCB4KSB7CiAgICBpbnQgbGVmdCA9IDAsIHJpZ2h0ID0gc2l6ZSAtIDE7CiAgICB3aGlsZSAobGVmdCA8PSByaWdodCkgewogICAgICAgIGludCBtaWQgPSBsZWZ0ICsgKHJpZ2h0IC0gbGVmdCkgLyAyOwogICAgICAgIGlmIChhW21pZF0gPT0geCkgcmV0dXJuIG1pZDsKICAgICAgICBlbHNlIGlmIChhW21pZF0gPCB4KSBsZWZ0ID0gbWlkICsgMTsKICAgICAgICBlbHNlIHJpZ2h0ID0gbWlkIC0gMTsKICAgIH0KICAgIHJldHVybiAtMTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgc2l6ZTsKICAgIGNvdXQgPDwgItCS0LLQtdC00LjRgtC1INGA0LDQt9C80LXRgCDQvNCw0YHRgdC40LLQsDogIjsKICAgIGNpbiA+PiBzaXplOwogICAgCiAgICBpbnQgYVtzaXplXTsKICAgIGNvdXQgPDwgItCS0LLQtdC00LjRgtC1INGN0LvQtdC80LXQvdGC0Ysg0LzQsNGB0YHQuNCy0LA6XG4iOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspCiAgICAgICAgY2luID4+IGFbaV07CiAgICAKICAgIGludCB4OwogICAgY291dCA8PCAi0JLQstC10LTQuNGC0LUg0LjRgdC60L7QvNGL0Lkg0Y3Qu9C10LzQtdC90YI6ICI7CiAgICBjaW4gPj4geDsKICAgIAogICAgaW50IHBvcyA9IGgoYSwgc2l6ZSwgeCk7CiAgICBpZiAocG9zICE9IC0xKQogICAgICAgIGNvdXQgPDwgItCf0L7Qt9C40YbQuNGPOiAiIDw8IHBvcyA8PCBlbmRsOwogICAgZWxzZQogICAgICAgIGNvdXQgPDwgItCd0LUg0L3QsNC50LTQtdC90L4iIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==