Ocena użytkownikóww: ***** / 6
Nadesłany przez Tomasz Lubiński, 04 września 2009 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Szukanie polowkowe - Delphi/szukanie_polowkowe.dpr:
//Szukanie polowkowe (binarne)
//(c) 2009 by Tomasz Lubinski
//www.algorytm.org
program szukanie_polowkowe;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a: Array [1..101] of Integer;
l, p, s, i, n, x: Integer;
begin
//pobierz dane od uzytkownika
writeln('Podaj liczbe elementow tablicy (maks. 100)');
readln(n);
for i:=1 to n do
begin
writeln('Podaj element a[', i, ']');
readln(a[i]);
end;
writeln('Podaj element do wyszukania');
readln(x);
//szukaj elementu x
l := 1;
p := n;
while (l <= p) do
begin
s := (l + p) div 2;
if (a[s] = x) then
begin
//podaj wynik
writeln('Odnaleziono element ',x,' pod indeksem ',s);
//poczekaj na enter od uzytkownika
readln;
//zakoncz program
exit;
end;
if (a[s] < x) then
l := s + 1
else
p := s - 1;
end;
//podaj wynik
writeln('Nie odnaleziono w tablicy elementu ',x);
//poczekaj na enter od uzytkownika
readln;
end.