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?

Algorytm GS' (Galila Seiferasa) - Implementacja w Delphi/Pascal
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 26 lipca 2005 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.

Algorytm GS' - Delphi/Algorytm_GS.dpr:
//www.algorytm.org
//Algorytm GS' - wersja algorytmu Galila-Seiferasa dla pewnej klasy wzorców
//(c)2002 Tomasz Lubiński

program Algorytm_GS;

uses
  Forms,
  Math,Sysutils;

{$R *.RES}
{$Apptype console}

var
m,n,i,j:Integer;
wzorzec:String;
tekst:String;

begin
writeln('Podaj tekst');
readln(tekst);
writeln('Podaj wzorzec (pamietaj, ze musi to by wzorzec latwy)');
readln(wzorzec);
n:=length(tekst);
m:=length(wzorzec);
i:=1;
writeln('Indeksy poczatkow wzorca w tekscie');
while i<=n-m+1 do
        begin
        j:=0;
        while ((j<m)and(wzorzec[j+1]=tekst[i+j])) do j:=j+1;
        if j=m then writeln((IntToStr(i)));
        i:=i+max(1,ceil(j/3));
        end;
readln;
end.
Dodaj komentarz