fork download
  1. program binaris_logaritmikus_kereses;
  2. const n = 10;
  3. var a: array [1..n] of integer;
  4. i, j, c, x, als, fel, k: integer;
  5. van: boolean;
  6. begin
  7. randomize;
  8. //A tömb elkészítése
  9. for i:=1 to n do
  10. a[i]:=random(9);
  11. //Tömb rendezése
  12. for i:=1 to n-1 do
  13. for j:=i+1 to n do
  14. if a[j]<a[i] then begin
  15. c:=a[j];
  16. a[j]:=a[i];
  17. a[i]:=c;
  18. end;
  19. //A rendezett tomb kiiratasa
  20. for i:=1 to n do
  21. write(a[i], ' ');
  22. Writeln;
  23. //Binaris kereses
  24. als:=1;
  25. fel:=n;
  26. x:=random(11);
  27. writeln('a keresett elem: ', x);
  28. repeat
  29. k:=(als+fel) div 2;
  30. if a[k]<x then als:=k+1;
  31. if a[k]>x then fel:=k-1;
  32. until (als>fel) or (a[k]=x);
  33. van:=als<=fel;
  34. if van then
  35. writeln('megtalaltam, a sorszama: ', k)
  36. else
  37. writeln('nincsen meg');
  38. readln;
  39. end.
Success #stdin #stdout 0s 9136KB
stdin
Standard input is empty
stdout
0 1 2 4 4 6 6 7 8 8 
a keresett elem: 6
megtalaltam, a sorszama: 6