Advertisement
ridjis

(ne)parni

Apr 3rd, 2014
450
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //BRIŠE POZICIJE
  2. PROCEDURE IzbaciParnePozicije(VAR lista:brojevi);
  3. VAR temp,prethodni:brojevi;
  4.     i:INTEGER;
  5. BEGIN
  6.   IF lista=NIL THEN
  7.     WriteString('Greska');WriteLn;
  8.   ELSE
  9.     temp:=lista;
  10.     i:=2;
  11.     WHILE temp^.veza#NIL DO
  12.       prethodni:=temp;
  13.       temp:=temp^.veza;
  14.       IF (i MOD 2 = 0) THEN
  15.         prethodni^.veza:=temp^.veza;
  16.     DISPOSE(temp);
  17.     temp:=prethodni;
  18.       END;
  19.       INC(i);
  20.     END;
  21.   END;
  22. END IzbaciParnePozicije;
  23.  
  24. PROCEDURE IzbaciNeparnePozicije(VAR lista:brojevi);
  25. VAR temp,prethodni:brojevi;
  26.     i:INTEGER;
  27. BEGIN
  28.   IF lista=NIL THEN
  29.     WriteString('Greska');WriteLn;
  30.   ELSE
  31.     temp:=lista;
  32.     lista:=lista^.veza;
  33.     DISPOSE(temp);
  34.     temp:=lista;
  35.     i:=3;
  36.     WHILE temp^.veza#NIL DO
  37.       prethodni:=temp;
  38.       temp:=temp^.veza;
  39.       IF ODD(i) THEN
  40.         prethodni^.veza:=temp^.veza;
  41.     DISPOSE(temp);
  42.     temp:=prethodni;
  43.       END;
  44.       INC(i);
  45.     END;
  46.   END;
  47. END IzbaciNeparnePozicije;
  48.  
  49. // BRIŠE (NE)PARNE BROJEVE
  50. PROCEDURE BriseParne(VAR lista:brojevi);
  51. VAR prethodni,temp:brojevi;
  52. BEGIN
  53.   WHILE (lista#NIL) AND (NOT ODD(lista^.info)) DO
  54.     temp:=lista;
  55.     lista:=lista^.veza;
  56.     DISPOSE(temp);
  57.   END;
  58.   IF lista#NIL THEN
  59.     temp:=lista;
  60.     WHILE temp^.veza#NIL DO
  61.       prethodni:=temp;
  62.       temp:=temp^.veza;
  63.       IF (temp^.info MOD 2 = 0) THEN
  64.         prethodni^.veza:=temp^.veza;
  65.     DISPOSE(temp);
  66.     temp:=prethodni;
  67.       END;
  68.     END;
  69.   END;
  70. END BriseParne;
  71.  
  72. PROCEDURE BrisiNeparne(VAR lista:brojevi);
  73. VAR temp,prethodni:brojevi;
  74. BEGIN
  75.   WHILE (lista#NIL) AND (lista^.info MOD 2 # 0) DO
  76.     temp:=lista;
  77.     lista:=lista^.veza;
  78.     DISPOSE(temp);
  79.   END;
  80.   IF lista#NIL THEN
  81.     temp:=lista;
  82.     WHILE temp^.veza#NIL DO
  83.       prethodni:=temp;
  84.       temp:=temp^.veza;
  85.       IF (temp^.info MOD 2 # 0) THEN
  86.         prethodni^.veza:=temp^.veza;
  87.     DISPOSE(temp);
  88.     temp:=prethodni;
  89.       END;
  90.     END;
  91.   END;
  92. END BrisiNeparne;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement