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

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

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


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

уберите подклчюение библиотек и вывод массива, получим возможно даже меньше строк ))

0

ладно, тем не менее строк не так уж и много)) не вижу смысла в холиварах между мертвым языком и С++)

0

на базе C#, python извините но мне стало аж смешно, хотите сказать питон старше паскаля?? для новичков С++, да не лучший ЯП, но он лучше по своему, писать на паскале никто не будет рано или позно пересядут на тот же С++, джаву или питон..

0

возможно, ничего против не имею, сам учил паскаль ещё давно, тогда вроде был ABC.NET, но мы писали на турбо(борланд), да.. были времена.. Да-да-да, все только и говорят о том что С++ умирает но выходят новые стандарты и все опять заглатывают) сам недавно стал разработчиком на С++ и скажу: он нисколько не мертв :) и не умрет пока будут нужны высокопроизводительные программы ну и собственно игры, это все огромный рынок а ещё программирование микроконтроллеров

Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017
// Внимание! Если программа не работает, обновите версию!

function bsearch(a:array of integer; x:integer):integer:=a.FindIndex(t->t
begin
  var P:=ArrRandom(ReadInteger('n='),-50,50).OrderByDescending(t->t).ToArray;
  P.Println;
  var x:=ReadInteger('x=');
  var i:=bsearch(P,x)+1;
  if i>0 then Writeln('Индекс первого элемента, меньшего x, равен ',i)
  else Writeln('Все элементы больше х')
end.

Пример
n= 13
47 36 26 25 17 6 -8 -11 -23 -29 -31 -39 -39
x= -10
Индекс первого элемента, меньшего x, равен 8
(150k баллов)
0 голосов

#include
#include
#include
using namespace std;
 
int bSearch(const vector &array, int value)
{
   auto it = find_if(array.begin(), array.end(), [&](int v) {return v   return distance(array.begin(), it + 1);
}
 
int main()
{
   vector array = { 16, -13, 12, -8, 5, 4, 1, -2, -5 };
   sort(array.rbegin(), array.rend());
   for (auto i : array){
   cout << i << " ";<br>   }
   cout << endl << bSearch(array, 9) << endl;<br>   return 0;
}

(4.2k баллов)