Posted By

anabel_lee on 11/12/12


Tagged

polja


Versions (?)

polja


 / Published in: C++
 

polja

  1. // IMPLEMENTACIJA LISTE POMOCU POLJA //
  2.  
  3. #include <cstring>
  4.  
  5. struct zivotinje {
  6. int sifra,d,m,g;
  7. char vrsta [20], naziv[40];
  8. float cijena;
  9. };
  10.  
  11. zivotinje zi ;
  12. struct LIST {
  13. int sifra[1000], d[1000], m[1000], g[1000];
  14. char naziv [20][1000], vrsta [30][1000];
  15. float cijena[1000];
  16. int kursor;
  17. };
  18.  
  19. typedef int element;
  20.  
  21. element ENDL (LIST *L) {
  22. return L->kursor;
  23. };
  24.  
  25. element FIRSTL (LIST *L) {
  26. if (L->kursor == 0)
  27. ENDL(L);
  28. return 0;
  29. };
  30.  
  31. element NEXTL (element position, LIST *L) {
  32. if ((position >= L->kursor) || (position < 0))
  33. return 0;
  34. return(position + 1);
  35. };
  36.  
  37. element PREVIOUSL (element position, LIST *L) {
  38. if ((position > L->kursor) || (position <= 0))
  39. return (position - 1);
  40. };
  41.  
  42. element LOCATEL (zivotinje z, LIST *L) {
  43. int br = 0;
  44. while ((br != L->kursor) && (L->sifra[br]!= z.sifra))
  45. br ++;
  46. return br;
  47. };
  48.  
  49. element INSERTL (zivotinje z, element position, LIST *L) {
  50. int br;
  51. if ((position <= L->kursor) && (position >= 0)) {
  52. for (br=L->kursor; br >= position; br --) {
  53. L->sifra[br] = L->sifra[br-1];
  54. L->cijena[br] = L->cijena[br-1];
  55. L->d[br] = L->d[br-1];
  56. L->m[br] = L->m[br-1];
  57. L->g[br] = L->g[br-1];
  58. strcpy (L->naziv[br],L->naziv[br-1]);
  59. strcpy (L->vrsta[br],L->vrsta[br-1]);
  60. }
  61. L->kursor ++;
  62. L->sifra[position] = z.sifra;
  63. L->cijena[position] = z.cijena;
  64. L->d[position] = z.d;
  65. L->m[position] = z.m;
  66. L->g[position] = z.g;
  67. strcpy (L->naziv[position],z.naziv);
  68. strcpy (L->vrsta[position],z.vrsta);
  69. return 1;
  70. }
  71. else
  72. return 0;
  73. };
  74.  
  75. element DELETEL (element position, LIST *L) {
  76. int br;
  77. if ((position < L->kursor) && (position >= 0)) {
  78. for (br = position; br < L->kursor; br ++){
  79. L->sifra[br] = L->sifra[br+1];
  80. L->cijena[br] = L->cijena[br+1];
  81. L->d[br] = L->d[br+1];
  82. L->m[br] = L->m[br+1];
  83. L->g[br] = L->g[br+1];
  84. strcpy(L->naziv[br],L->naziv[br+1]);
  85. strcpy(L->vrsta[br],L->vrsta[br+1]);
  86. }
  87. L->kursor --;
  88. return 1;
  89. }
  90. else
  91. return 0;
  92. };
  93.  
  94. zivotinje RETREIVEL (element position, LIST *L) {
  95. if ((position < L->kursor) && (position >= 0)) {
  96. zi.sifra = L->sifra[position];
  97. zi.cijena = L->cijena[position];
  98. zi.d = L->d[position];
  99. zi.m = L->m[position];
  100. zi.g = L->g[position];
  101. strcpy(zi.naziv,L->naziv[position]);
  102. strcpy(zi.vrsta,L->vrsta[position]);
  103. return zi;
  104. }
  105. };
  106.  
  107.  
  108. element DELETEALLL (LIST *L) {
  109. L->kursor = 0;
  110. return 0;
  111. };
  112.  
  113. LIST *INITL (LIST *L) {
  114. L = new LIST;
  115. L->kursor = 0;
  116. return L;
  117. };

Report this snippet  

You need to login to post a comment.