Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program primer(ulaz,izlaz,recnik);
- type recn = record
- rec: string;
- zamena: string;
- end;
- listpok = ^listzapis;
- listzapis = record
- reci: recn;
- sled: listpok;
- end;
- var imerec,imeul,imeiz: string;
- ulaz,izlaz,recnik: text;
- prvi: listpok;
- procedure unosf(var imeul,imeiz,imerec: string);
- begin
- writeln('Unesite ime ulazne tekstualne datoteke');
- readln(imeul);
- writeln('Unesite ime izlazne tekstualne datoteke');
- readln(imeiz);
- writeln('Unesite ime recnika');
- readln(imerec);
- imeul:= imeul+'.txt';
- imeiz:= imeiz+'.txt';
- imerec:= imerec+'.txt';
- end;
- procedure unosrec(var prvi: listpok; var recnik:text);
- var posl,novi: listpok; rec:string; slov:char;
- begin
- prvi:=nil; posl:= nil;
- while not eof(recnik) do
- while not eoln(recnik) do
- begin
- new(novi);
- novi^.sled := nil;
- repeat
- read(recnik,slov);
- if not (slov = ' ') then rec:=rec+slov;
- until slov = ' ';
- novi^.reci.rec:=rec;
- rec:='';
- repeat
- read(recnik,slov);
- if not (slov = ' ') then rec:=rec+slov;
- until slov = ' ';
- novi^.reci.zamena:=rec;
- rec:='';
- readln(recnik);
- if prvi = nil then prvi := novi
- else posl^.sled := novi;
- posl:= novi;
- end;
- end;
- procedure obrada(prvi: listpok; var ulaz,izlaz:text);
- var tekuci: listpok; trrec,znak:string; poz:integer; slov:char;
- begin
- while not eof(ulaz) do
- while not eoln(ulaz) do
- begin
- tekuci:= prvi;
- trrec:='';
- repeat
- read(ulaz,slov);
- if not (slov = (' ')) and not (slov =('!')) and not (slov =('?')) and not (slov =(',')) then trrec:=trrec+slov
- else znak:=slov;
- until (slov = (' ')) or (slov =('!')) or (slov =('?')) or (slov =(','));
- while tekuci <> nil do
- if (trrec = tekuci^.reci.rec) then
- begin
- trrec:=tekuci^.reci.zamena;
- break;
- end
- else tekuci:= tekuci^.sled;
- write(izlaz,trrec,znak);
- end;
- end;
- procedure brisi(lista:listpok);
- var tren: listpok;
- begin
- while lista <> nil do
- begin
- tren:= lista;
- lista := lista^.sled;
- dispose(tren);
- end;
- end;
- begin
- unosf(imeul,imeiz,imerec);
- while (length(imeul)>4) and (length(imeul)>4) and (length(imerec)>4) do
- begin
- assign(recnik,imerec);
- reset(recnik);
- unosrec(prvi,recnik);
- close(recnik);
- assign(ulaz,imeul);
- assign(izlaz,imeiz);
- reset(ulaz);
- rewrite(izlaz);
- obrada(prvi,ulaz,izlaz);
- close(ulaz);
- close(izlaz);
- brisi(prvi);
- unosf(imeul,imeiz,imerec);
- end;
- end.
Add Comment
Please, Sign In to add comment