program binaris_logaritmikus_kereses;
const n = 10;
var a: array [1..n] of integer;
i, j, c, x, als, fel, k: integer;
van: boolean;
begin
randomize;
//A tömb elkészítése
for i:=1 to n do
a[i]:=random(9);
//Tömb rendezése
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j]<a[i] then begin
c:=a[j];
a[j]:=a[i];
a[i]:=c;
end;
//A rendezett tomb kiiratasa
for i:=1 to n do
write(a[i], ' ');
Writeln;
//Binaris kereses
als:=1;
fel:=n;
x:=random(11);
writeln('a keresett elem: ', x);
repeat
k:=(als+fel) div 2;
if a[k]<x then als:=k+1;
if a[k]>x then fel:=k-1;
until (als>fel) or (a[k]=x);
van:=als<=fel;
if van then
writeln('megtalaltam, a sorszama: ', k)
else
writeln('nincsen meg');
readln;
end.
cHJvZ3JhbSBiaW5hcmlzX2xvZ2FyaXRtaWt1c19rZXJlc2VzOwpjb25zdCBuID0gMTA7CnZhciBhOiBhcnJheSBbMS4ubl0gb2YgaW50ZWdlcjsKICAgIGksIGosIGMsIHgsIGFscywgZmVsLCBrOiBpbnRlZ2VyOwogICAgdmFuOiBib29sZWFuOwpiZWdpbgogIHJhbmRvbWl6ZTsKICAvL0EgdMO2bWIgZWxrw6lzesOtdMOpc2UKICBmb3IgaTo9MSB0byBuIGRvCiAgICBhW2ldOj1yYW5kb20oOSk7CiAgLy9Uw7ZtYiByZW5kZXrDqXNlCiAgZm9yIGk6PTEgdG8gbi0xIGRvCiAgICBmb3Igajo9aSsxIHRvIG4gZG8KICAgICAgaWYgYVtqXTxhW2ldIHRoZW4gYmVnaW4KICAgICAgICBjOj1hW2pdOwogICAgICAgIGFbal06PWFbaV07CiAgICAgICAgYVtpXTo9YzsKICAgICAgZW5kOwogIC8vQSByZW5kZXpldHQgdG9tYiBraWlyYXRhc2EKICBmb3IgaTo9MSB0byBuIGRvCiAgICB3cml0ZShhW2ldLCAnICcpOwogIFdyaXRlbG47CiAgLy9CaW5hcmlzIGtlcmVzZXMKICBhbHM6PTE7CiAgZmVsOj1uOwogIHg6PXJhbmRvbSgxMSk7CiAgd3JpdGVsbignYSBrZXJlc2V0dCBlbGVtOiAnLCB4KTsKICByZXBlYXQKICAgIGs6PShhbHMrZmVsKSBkaXYgMjsKICAgIGlmIGFba108eCB0aGVuIGFsczo9aysxOwogICAgaWYgYVtrXT54IHRoZW4gZmVsOj1rLTE7CiAgdW50aWwgKGFscz5mZWwpIG9yIChhW2tdPXgpOwogIHZhbjo9YWxzPD1mZWw7CiAgaWYgdmFuIHRoZW4KICAgIHdyaXRlbG4oJ21lZ3RhbGFsdGFtLCBhIHNvcnN6YW1hOiAnLCBrKQogIGVsc2UKICAgIHdyaXRlbG4oJ25pbmNzZW4gbWVnJyk7CiAgcmVhZGxuOwplbmQu