// PascalABC.NET 3.3, сборка 1540 от 16.09.2017 // Внимание! Если программа не работает, обновите версию!
function bsearch(a:array of integer; x:integer):integer:=a.FindIndex(t->t<x);
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
#include <iostream> #include <vector> #include <algorithm> using namespace std;
int bSearch(const vector<int> &array, int value) { auto it = find_if(array.begin(), array.end(), [&](int v) {return v<value;}); return distance(array.begin(), it + 1); }