/ Published in: C++
polja
Expand |
Embed | Plain Text
// IMPLEMENTACIJA LISTE POMOCU POLJA // #include <cstring> struct zivotinje { int sifra,d,m,g; char vrsta [20], naziv[40]; float cijena; }; zivotinje zi ; struct LIST { int sifra[1000], d[1000], m[1000], g[1000]; char naziv [20][1000], vrsta [30][1000]; float cijena[1000]; int kursor; }; typedef int element; element ENDL (LIST *L) { return L->kursor; }; element FIRSTL (LIST *L) { if (L->kursor == 0) ENDL(L); return 0; }; element NEXTL (element position, LIST *L) { if ((position >= L->kursor) || (position < 0)) return 0; return(position + 1); }; element PREVIOUSL (element position, LIST *L) { if ((position > L->kursor) || (position <= 0)) return (position - 1); }; element LOCATEL (zivotinje z, LIST *L) { int br = 0; while ((br != L->kursor) && (L->sifra[br]!= z.sifra)) br ++; return br; }; element INSERTL (zivotinje z, element position, LIST *L) { int br; if ((position <= L->kursor) && (position >= 0)) { for (br=L->kursor; br >= position; br --) { L->sifra[br] = L->sifra[br-1]; L->cijena[br] = L->cijena[br-1]; L->d[br] = L->d[br-1]; L->m[br] = L->m[br-1]; L->g[br] = L->g[br-1]; strcpy (L->naziv[br],L->naziv[br-1]); strcpy (L->vrsta[br],L->vrsta[br-1]); } L->kursor ++; L->sifra[position] = z.sifra; L->cijena[position] = z.cijena; L->d[position] = z.d; L->m[position] = z.m; L->g[position] = z.g; strcpy (L->naziv[position],z.naziv); strcpy (L->vrsta[position],z.vrsta); return 1; } else return 0; }; element DELETEL (element position, LIST *L) { int br; if ((position < L->kursor) && (position >= 0)) { for (br = position; br < L->kursor; br ++){ L->sifra[br] = L->sifra[br+1]; L->cijena[br] = L->cijena[br+1]; L->d[br] = L->d[br+1]; L->m[br] = L->m[br+1]; L->g[br] = L->g[br+1]; strcpy(L->naziv[br],L->naziv[br+1]); strcpy(L->vrsta[br],L->vrsta[br+1]); } L->kursor --; return 1; } else return 0; }; zivotinje RETREIVEL (element position, LIST *L) { if ((position < L->kursor) && (position >= 0)) { zi.sifra = L->sifra[position]; zi.cijena = L->cijena[position]; zi.d = L->d[position]; zi.m = L->m[position]; zi.g = L->g[position]; strcpy(zi.naziv,L->naziv[position]); strcpy(zi.vrsta,L->vrsta[position]); return zi; } }; element DELETEALLL (LIST *L) { L->kursor = 0; return 0; }; LIST *INITL (LIST *L) { L = new LIST; L->kursor = 0; return L; };
You need to login to post a comment.
