Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MODULE k5;
- FROM InOut IMPORT WriteLn,WriteString,WriteInt,ReadInt;
- FROM Storage IMPORT ALLOCATE, DEALLOCATE;
- TYPE brojevi=POINTER TO Slog;
- Slog = RECORD
- info:INTEGER;
- veza:brojevi;
- END;
- VAR lista,nova:brojevi;
- i,n,br:INTEGER;
- (*---------PROCEDURE--------*)
- PROCEDURE DodajKraj(VAR lista:brojevi; br:INTEGER);
- VAR temp,tekuci:brojevi;
- BEGIN
- NEW(temp);
- temp^.info:=br;
- temp^.veza:=NIL;
- IF lista=NIL THEN
- lista:=temp;
- ELSE
- tekuci:=lista;
- WHILE tekuci^.veza # NIL DO
- tekuci:=tekuci^.veza;
- END;
- tekuci^.veza:=temp;
- END;
- END DodajKraj;
- PROCEDURE Stampaj(lista:brojevi);
- VAR temp:brojevi;
- BEGIN
- temp:=lista;
- WHILE temp#NIL DO
- WriteInt(temp^.info,1);
- WriteLn;
- temp:=temp^.veza;
- END;
- END Stampaj;
- PROCEDURE Unisti(VAR lista:brojevi);
- VAR temp:brojevi;
- BEGIN
- temp:=lista;
- WHILE temp#NIL DO
- lista:=lista^.veza;
- DISPOSE(temp);
- temp:=lista;
- END;
- END Unisti;
- PROCEDURE Mod3(lista:brojevi);
- VAR temp:brojevi;
- BEGIN
- IF lista=NIL THEN
- WriteString('Lista je prazna.');
- WriteLn;
- ELSE
- temp:=lista;
- WHILE temp # NIL DO
- IF temp^.info MOD 3 = 0 THEN
- WriteInt(temp^.info,1);
- WriteLn;
- END;
- temp:=temp^.veza;
- END;
- END;
- END Mod3;
- PROCEDURE DvaSusedna(VAR lista,nova:brojevi);
- VAR temp:brojevi;
- br:INTEGER;
- BEGIN
- nova:=NIL;
- temp:=lista;
- IF temp # NIL THEN
- IF temp^.veza # NIL THEN
- WHILE temp^.veza # NIL DO
- br:=temp^.veza^.info+temp^.info;
- DodajKraj(nova,br);
- temp:=temp^.veza;
- END;
- END;
- END;
- END DvaSusedna;
- (*---------GLAVNI PROGRAM--------*)
- BEGIN
- lista:=NIL;
- WriteString('Unesite n: ');
- ReadInt(n);
- FOR i:=1 TO n DO
- WriteString('Unesite ');
- WriteInt(i,1);
- WriteString('. broj: ');
- ReadInt(br);
- DodajKraj(lista,br);
- END;
- WriteString('Lista izgleda ovako: '); WriteLn;
- Stampaj(lista);
- WriteLn;
- WriteString('Clanovi liste deljivi sa 3 su: '); WriteLn;
- Mod3(lista);
- WriteLn;
- WriteString(' -- :Nova lista sastavljena od susednih clanova: -- '); WriteLn;
- DvaSusedna(lista);
- WriteLn;
- WriteString('Lista izgleda ovako: '); WriteLn;
- Stampaj(lista,nova);
- WriteLn;
- Unisti(lista);
- Unisti(nova);
- WriteString('Memorija je oslobodjena.');
- WriteLn;
- END k5.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement