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

0 голосов
105 просмотров

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


Информатика (70 баллов) | 105 просмотров
0

А его зачем сортировать, он уже сортирован по условию

0

А местные Правила такие задания запрещают.

0

Но Вы верно написали члены массива по неубыванию.

0

Не школьная - это вовсе не значит, что для вузов. Это значит, не на уроке дана.

0

Ну да ,верно

0

Простая, но постановка её не такая, как дают на уроках.

0

Да нет ,простая же задача, как раз школьного уровня

0

Я думаю, это вообще не школьная задача и ей по правилам тут не место. Но доказать это не могу - просто такое ощущение.

0

Подозреваю, что под репозиторием в задании скрывается хранилище на ресурсе, откуда брали задание

0

"ссылку на репозиторий " т.е написать программу, залить на файлообменик и вставить сюда ссылку?

Дано ответов: 2
0 голосов

Int bsearch(int arr[],int x,int n)
{
 for (int i = 0;i < n;++i)
{
 if (arr[i] > x)
  return i;
 }
return -1; // возвращает "-1" если нет такого элемента. 
// Не могу использовать  "0" т.к существует индекс 0.
}

(1.8k баллов)
0 голосов

Решение в прикрепленном файле.


Скачать вложение Текст (TXT)
(9.7k баллов)
0

Как минимум 4 ошибки в коде выдает компилятор

0

" возвращать индекс первого элемента массива, строго большего x."

0

Получите Вы вывод на экране, начнете от нуля считать? Возвращаемое функцией значение специально увеличено на 1 return rigth+1; yfxtybt

0

Так ты на Си писал

0

Отсчет от 1, это в Си отсчет с нуля, в Паскале с 1

0

а не 5 *

0

Ошибку компиляции ,да и + у 16 индекс 4 а не 6

0

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 у меня ошибок не выдает

0