Написать функцию bsearch, которая воспринимает на вход отсортированный по неубыванию

Написать функцию bsearch, которая воспринимает на вход отсортированный по неубыванию массив целых чисел и целое число x. В качестве результата функция должна отдавать индекс первого элемента массива, взыскательно большего x. В Вашей реализации функция может принимать хоть какое количество всех характеристик, только 2
этих параметра неотклонимы. При использовании Вашей функции обязана быть возможность найти, существует ответ либо нет. В качестве решения пришлите ссылку на репозиторий с программкой на языке C с образцом использования функции.

Задать свой вопрос
Agata
А его зачем сортировать, он теснее сортирован по условию
Заварика София
Но Вы правильно написали члены массива по неубыванию.
Олег
"ссылку на репозиторий " т.е написать программку, залить на файлообменик и вставить сюда ссылку?
Эвелина Мурзич
Подозреваю, что под репозиторием в задании прячется хранилище на ресурсе, откуда брали задание
Гурмина Альбина
Я мыслю, это вообщем не школьная задачка и ей по правилам здесь не место. Но доказать это не могу - просто такое чувство.
Виктория Трокаева
Да нет ,обычная же задача, как раз школьного уровня
Катырева Тамара
Обычная, но постановка её не такая, как дают на уроках.
Денис Кнодель
Ну да ,правильно
Ларионовии Дима
Не школьная - это вовсе не значит, что для вузов. Это значит, не на уроке дана.
Данил Нетужилин
А местные Управляла такие задания запрещают.
2 ответа
Решение в прикрепленном файле.

Вася Татаев
Как минимум 4 оплошности в коде выдает компилятор
Иохантэ Есения
n = 30 x = 15 массив 1 7 13 15 16 20 29 30 39 39 40 43 48 49 55 67 67 69 71 74 79 82 85 85 85 88 92 93 97 97 индекс: 5 у меня ошибок не выдает
Карина Чиминева
Ошибку компиляции ,да и + у 16 индекс 4 а не 6
Mao Vikulka
а не 5 *
Степа Поджуев
Отсчет от 1, это в Си отсчет с нуля, в Паскале с 1
Арсений
Так ты на Си писал
Рома Ширеев
Получите Вы вывод на экране, начнете от нуля считать? Возвращаемое функцией значение умышленно увеличено на 1 return rigth+1; yfxtybt
Гагин Данил
" отдавать индекс первого элемента массива, требовательно большего x."
Женя Шкелеев
int bsearch(int* a,int n,int x) int k,left,rigth; if (x>=a[n-1]) return -1; if (xx) rigth=k; else left=k; k=(left+rigth)>>1; return rigth; убедили Вы меня, функция будет такая, и в выводе результата поменять строку if (k<0) printf("нет элемента больше %i\n",x);
Int bsearch(int arr[],int x,int n)

 for (int i = 0;i lt; n;++i)

 if (arr[i] gt; x)
  return i;
 
return -1; // отдаёт "-1" если нет такового элемента. 
// Не могу использовать  "0" т.к существует индекс 0.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт