algorytm.org

Implementacja w Delphi/Pascal

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Szukanie połówkowe (binarne) - Implementacja w Delphi/Pascal
Ocena użytkownikóww: *****  / 6
SłabyŚwietny
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.
Dodaj komentarz