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,temp,wynik:integer;
- nazwapliku,ciag,tekst:string;
- //PROCEDURA SZUKANIA PODANEGO CIAGU W PLIKU BEZ ROZROZNIANIA WIELKOSCI LITER
- function liczenie_dla_wiersza(tekst:string):integer;
- var
- liczba_wystapien:integer;
- begin
- dl_t:=Length(tekst);
- i:=1;
- liczba_wystapien:=0;
- while i<=dl_t-dl_c+1 do
- begin
- j:=0;
- while ((ciag[j+1]=tekst[i+j])and(j<dl_c)) or (ciag[j+1]=kropka) or ((upcase(ciag[j+1])=upcase(tekst[i+j])) and (j<dl_c)) do
- j:=j+1;
- 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
- writeln('Wiersz:',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);
- //okreslenie dlugosci ciagu
- dl_c:=Length(ciag);
- //przeszukiwanie calego pliku
- k:=1;
- temp:=0;
- wynik:=0;
- while not eof(zm_t) do
- begin
- Readln(zm_t, tekst);
- temp:=liczenie_dla_wiersza(tekst);
- wypisanie(temp,k);
- k:=k+1
- wynik:=temp+wynik;
- end;
- Writeln('Liczba wystapien wzorca:',wynik);
- //###NIEPOTRZEBNE### wypisanie zawartosci pliku
- (*
- Writeln();
- Writeln('Tekst zawarty w pliku to:');
- while not eof(zm_t) do
- begin
- Readln(zm_t, tekst);
- Writeln(tekst);
- end;
- *)
- //KONIEC PROGRAMU
- //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