26.02.2015 Views

Skripte za vezbe iz SPA1 - Univerzitet u Novom Sadu

Skripte za vezbe iz SPA1 - Univerzitet u Novom Sadu

Skripte za vezbe iz SPA1 - Univerzitet u Novom Sadu

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

pomK^.imeK := str;<br />

pomK^.clanoviVis := NIL;<br />

pomK^.clanoviTez := NIL;<br />

UbaciK(k, pomK);<br />

CitajDalje(f, ch);<br />

WHILE NOT EOF AND (ch # CHR(13)) DO<br />

NEW(pomC);<br />

RdItem(f, str);<br />

pomC^.imeC := str;<br />

card := RdCard(f);<br />

pomC^.visina := card;<br />

card := RdCard(f);<br />

pomC^.tezina := card;<br />

UbaciC(pomK^.clanoviVis, pomK^.clanoviTez,<br />

pomC);<br />

CitajDalje(f, ch)<br />

END;<br />

RdItem(f, str)<br />

END;<br />

Close(f)<br />

END<br />

END Ucitaj;<br />

PROCEDURE Ujedini(VAR k: PokKlub; ime1, ime2,<br />

imeNovog: String);<br />

PROCEDURE PronadjiK(ime: String; VAR pok:<br />

PokKlub);<br />

VAR<br />

stari: PokKlub;<br />

BEGIN<br />

pok := k;<br />

stari := NIL;<br />

WHILE (pok # NIL) AND (Compare(ime, pok^.imeK)<br />

# 0) DO<br />

stari := pok;<br />

pok := pok^.ve<strong>za</strong><br />

END;<br />

IF pok # NIL THEN<br />

IF stari # NIL THEN<br />

stari^.ve<strong>za</strong> := pok^.ve<strong>za</strong>;<br />

ELSE<br />

k := pok^.ve<strong>za</strong><br />

END<br />

END<br />

END PronadjiK;<br />

PROCEDURE NadjenC(ime: String; lista: PokClan):<br />

BOOLEAN;<br />

BEGIN<br />

WHILE (lista # NIL) AND<br />

(Compare(ime, lista^.imeC) # 0) DO<br />

lista := lista^.ve<strong>za</strong>Vis<br />

END;<br />

RETURN lista # NIL<br />

END NadjenC;<br />

ELSE<br />

UbaciC(temp3^.clanoviVis,<br />

temp3^.clanoviTez, pok2)<br />

END<br />

END;<br />

DISPOSE(temp1);<br />

UbaciK(k, temp3);<br />

END<br />

END<br />

END Ujedini;<br />

PROCEDURE IspisiVis(k: PokKlub);<br />

VAR<br />

pomk: PokKlub;<br />

pomc: PokClan;<br />

BEGIN<br />

pomk := k;<br />

WHILE pomk # NIL DO<br />

WriteString(pomk^.imeK);<br />

Write(' ');<br />

pomc := pomk^.clanoviVis;<br />

WHILE pomc # NIL DO<br />

WriteString(pomc^.imeC);<br />

Write(' ');<br />

WriteCard(pomc^.visina, 0);<br />

Write(' ');<br />

WriteCard(pomc^.tezina, 0);<br />

Write(' ');<br />

pomc := pomc^.ve<strong>za</strong>Vis<br />

END;<br />

pomk := pomk^.ve<strong>za</strong>;<br />

WriteLn;<br />

END<br />

END IspisiVis;<br />

VAR<br />

lista: PokKlub;<br />

BEGIN<br />

Ucitaj('podaci.txt', lista);<br />

WriteLn;<br />

WriteString('Ucitani podaci !'); WriteLn;<br />

WriteLn;<br />

IspisiVis(lista);<br />

Ujedini(lista, 'kajak', 'kanu', 'veslacki');<br />

WriteLn;<br />

WriteString('Nakon ujedinjenja !'); WriteLn;<br />

WriteLn;<br />

IspisiVis(lista)<br />

END Klubovi.<br />

VAR<br />

temp1, temp2, temp3: PokKlub;<br />

pok1, pok2: PokClan;<br />

BEGIN<br />

PronadjiK(ime1, temp1);<br />

IF temp1 # NIL THEN<br />

PronadjiK(ime2, temp2);<br />

IF temp2 # NIL THEN<br />

NEW(temp3);<br />

temp3^.imeK := imeNovog;<br />

temp3^.clanoviVis := temp2^.clanoviVis;<br />

temp3^.clanoviTez := temp2^.clanoviTez;<br />

DISPOSE(temp2);<br />

pok1 := temp1^.clanoviVis;<br />

WHILE (pok1 # NIL) DO<br />

pok2 := pok1;<br />

pok1 := pok1^.ve<strong>za</strong>Vis;<br />

IF NadjenC(pok2^.imeC, temp3^.clanoviVis)<br />

THEN<br />

DISPOSE(pok2)<br />

13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!