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
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