//Сы Юйхао, 1032255367,НКАбд-04-25,27.2.26, 17:10
//Написать функцию для бинарного поиска элемента в упорядоченном массиве.
#include <stdio.h>
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;
printf("Введите размер массива: ");
int a[size];
printf("Введите элементы массива:\n"); for (int i = 0; i < size; i++)
int x;
printf("Введите искомый элемент: ");
int pos = h(a, size, x);
if (pos != -1)
else
return 0;
}
Ly/QodGLINCu0LnRhdCw0L4sIDEwMzIyNTUzNjcs0J3QmtCQ0LHQtC0wNC0yNSwyNy4yLjI2LCAxNzoxMAovL9Cd0LDQv9C40YHQsNGC0Ywg0YTRg9C90LrRhtC40Y4g0LTQu9GPINCx0LjQvdCw0YDQvdC+0LPQviDQv9C+0LjRgdC60LAg0Y3Qu9C10LzQtdC90YLQsCDQsiDRg9C/0L7RgNGP0LTQvtGH0LXQvdC90L7QvCDQvNCw0YHRgdC40LLQtS4KI2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgaChpbnQgYVtdLCBpbnQgc2l6ZSwgaW50IHgpIHsKICAgIGludCBsZWZ0ID0gMCwgcmlnaHQgPSBzaXplIC0gMTsKICAgIHdoaWxlIChsZWZ0IDw9IHJpZ2h0KSB7CiAgICAgICAgaW50IG1pZCA9IGxlZnQgKyAocmlnaHQgLSBsZWZ0KSAvIDI7CiAgICAgICAgaWYgKGFbbWlkXSA9PSB4KSByZXR1cm4gbWlkOwogICAgICAgIGVsc2UgaWYgKGFbbWlkXSA8IHgpIGxlZnQgPSBtaWQgKyAxOwogICAgICAgIGVsc2UgcmlnaHQgPSBtaWQgLSAxOwogICAgfQogICAgcmV0dXJuIC0xOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBzaXplOwogICAgcHJpbnRmKCLQktCy0LXQtNC40YLQtSDRgNCw0LfQvNC10YAg0LzQsNGB0YHQuNCy0LA6ICIpOwogICAgc2NhbmYoIiVkIiwgJnNpemUpOwogICAgCiAgICBpbnQgYVtzaXplXTsKICAgIHByaW50Zigi0JLQstC10LTQuNGC0LUg0Y3Qu9C10LzQtdC90YLRiyDQvNCw0YHRgdC40LLQsDpcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspCiAgICAgICAgc2NhbmYoIiVkIiwgJmFbaV0pOwogICAgCiAgICBpbnQgeDsKICAgIHByaW50Zigi0JLQstC10LTQuNGC0LUg0LjRgdC60L7QvNGL0Lkg0Y3Qu9C10LzQtdC90YI6ICIpOwogICAgc2NhbmYoIiVkIiwgJngpOwogICAgCiAgICBpbnQgcG9zID0gaChhLCBzaXplLCB4KTsKICAgIGlmIChwb3MgIT0gLTEpCiAgICAgICAgcHJpbnRmKCLQn9C+0LfQuNGG0LjRjzogJWRcbiIsIHBvcyk7CiAgICBlbHNlCiAgICAgICAgcHJpbnRmKCLQndC1INC90LDQudC00LXQvdC+XG4iKTsKICAgIHJldHVybiAwOwp9