Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program szukacz_slow;
- const
- kropka='.';
- gwiazdka='*';
- var zm_t:text;
- dl_c,dl_t,i,j,k,h,temp,wynik:integer;
- nazwapliku,ciag,tekst:string;
- function liczenie_dla_wiersza(tekst:string):integer;
- var
- liczba_wystapien:integer;
- temp1:integer;
- begin
- dl_t:=Length(tekst);
- i:=1;
- liczba_wystapien:=0;
- while i<=dl_t-dl_c+1 do
- begin
- j:=0;
- temp1:=0;
- while ((ciag[j+1]=tekst[i+temp1])and(j<dl_c)) or (ciag[j+1]=kropka) or ((upcase(ciag[j+1])=upcase(tekst[i+temp1])) and (j<dl_c)) do
- begin
- j:=j+1;
- temp1:=temp1+1;
- if(ciag[j+1]=gwiazdka) then
- begin
- j:=j+1;
- while (not(ciag[j+1]=tekst[i+temp1])) do temp1:=temp1+1;
- end;
- end;
- writeln('ZMIENNA J: ',j);
- writeln(' DL_C : ',dl_c);
- if j=dl_c then
- begin
- liczba_wystapien:=liczba_wystapien+1;
- end;
- i:=i+1;
- end;
- liczenie_dla_wiersza:=liczba_wystapien;
- end;
- procedure wypisanie(liczba:integer;wiersz:integer);
- begin
- if(not(liczba=0)) then
- begin
- write(' ',wiersz);
- end;
- end;
- begin
- //podanie sciezki do pliku, w ktorym znajduje sie tekst do przeszukania
- Write('Podaj nazwe pliku do przeszukania z koncowka ".txt": ');
- Readln(nazwapliku);
- //otwarcie pliku z danymi do przeszukania
- assign(zm_t, nazwapliku);
- reset(zm_t);
- //zapytanie o slowo w pliku
- Writeln();
- Write('Podaj ciag znakow, ktory chcesz wyszukac w pliku tekstowym: ');
- Readln(ciag);
- Writeln();
- //okreslenie dlugosci ciagu
- dl_c:=Length(ciag);
- for h:=1 to Length(ciag) do
- begin
- if(ciag[h]=gwiazdka) then
- begin
- dl_c:=length(ciag)-1;
- break;
- end;
- end;
- //przeszukiwanie calego pliku
- k:=1;
- temp:=0;
- wynik:=0;
- //Write('Wiersz nr:');
- while not eof(zm_t) do
- begin
- Readln(zm_t, tekst);
- writeln(tekst);
- temp:=liczenie_dla_wiersza(tekst);
- //wypisanie(temp,k);
- k:=k+1;
- wynik:=temp+wynik;
- end;
- Writeln();
- Writeln('Liczba wystapien wzorca: ',wynik);
- //zamkniecie pliku
- close(zm_t);
- //wiadomosc dla user'a o koncu programu
- Writeln();
- Write('Program zakonczyl dzialanie, nacisnij ENTER by zakonczyc.');
- Readln();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement