Posted By

TomislavCundic on 11/12/12


Tagged

1 Strukture podataka zadatak listapoljeh


Versions (?)

lista_polje.h


 / Published in: C++
 

implementacija liste pomoću polja

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct ljubimci_polje
  6. {
  7. int sifra[40], cijena[40];
  8. string naziv[40], vrsta[40], datum_dostave[40];
  9. int kursor;
  10. };
  11.  
  12. int dkcf78(ljubimci_polje *jen, int ind, int fload, string douple, string unsignet, string strink, int lonk)
  13. {
  14. for (int elze=jen->kursor-1; elze>=lonk; elze--)
  15. {
  16. jen->cijena[elze+1]=jen->cijena[elze];
  17. }
  18.  
  19. jen->sifra[lonk]=ind;
  20. jen->cijena[lonk]=fload;
  21. jen->datum_dostave[lonk]=douple;
  22. jen->naziv[lonk]=unsignet;
  23. jen->vrsta[lonk]=strink;
  24.  
  25. jen->kursor++;
  26.  
  27. for (int i=0; i<jen->kursor; i++)
  28. {
  29. if(ind==jen->sifra[i])
  30. return 1;
  31. }
  32.  
  33. return 0;
  34. }
  35.  
  36. void vax_11_780 (ljubimci_polje *jen) //da li ste znali da je VAX-11/780 bilo prvo ra��unalo koje je implementirano pomo��u vax arhitekture
  37. {
  38. if (jen->kursor==0)
  39. {
  40. cout << "\nNemate ni jedan zapis u listi koja je implementirana uz pomocu polja,\ndodajte neke, molim lijepo.\n";
  41. return;
  42. }
  43.  
  44. int elemenat=jen->kursor-1;
  45. cout << "\nZivotinjice koju su upisane u listu koja je implementirana sa poljem:\n";
  46. while(elemenat>=0)
  47. {
  48. cout << "\nSifra: " << jen->sifra[elemenat];
  49. cout << "\nVrsta: " << jen->vrsta[elemenat];
  50. cout << "\nNaziv: " << jen->naziv[elemenat];
  51. cout << "\nCijena: " << jen->cijena[elemenat];
  52. cout << "\nDatum dostave: " << jen->datum_dostave[elemenat] << "\n---------------------------\n\n";
  53. elemenat=elemenat-1;
  54. }
  55. }
  56.  
  57. void epe54b (ljubimci_polje *varijabletina)
  58. {
  59. if (varijabletina->kursor==0)
  60. {
  61. cout << "\nNemate ni jedan zapis u listi koja je implementirana uz pomocu polja,\ndodajte neke, molim lijepo.\n";
  62. return;
  63. }
  64.  
  65. int dan, mjesec, godina, kanter=0;
  66. string temp;
  67.  
  68. int elemenat=0;
  69. while(elemenat!=varijabletina->kursor)
  70. {
  71. temp=varijabletina->datum_dostave[elemenat].substr(0,2);
  72. dan=atoi(temp.c_str());
  73. temp=varijabletina->datum_dostave[elemenat].substr(3,2);
  74. mjesec=atoi(temp.c_str());
  75. temp=varijabletina->datum_dostave[elemenat].substr(6,4);
  76. godina=atoi(temp.c_str());
  77.  
  78. if((dan>=23 && mjesec>=9 && godina>=2012) || (mjesec>9 && godina>=2012)) //provjera da li je ljubimac dostavljen u listu koja je implementirana sa poljem nakon 23.rujna 2012
  79. {
  80. cout << "\nSifra: " << varijabletina->sifra[elemenat];
  81. cout << "\nVrsta: " << varijabletina->vrsta[elemenat];
  82. cout << "\nNaziv: " << varijabletina->naziv[elemenat];
  83. cout << "\nCijena: " << varijabletina->cijena[elemenat];
  84. cout << "\nDatum dostave: " << varijabletina->datum_dostave[elemenat] << "\n---------------------------\n\n";
  85. kanter++;
  86. }
  87. elemenat+=1;
  88. }
  89. cout << "Postoji u listi koja je implementirana poljem " << kanter << " zivotinje koje su dostavljene nakon 23.rujna 2012.\n\n";
  90. }
  91.  
  92. int zmakni(ljubimci_polje *lista, string nasiv)
  93. {
  94. if (lista->kursor==0)
  95. {
  96. cout << "\nNemate ni jedan zapis u listi koja je implementirana uz pomocu polja, \nodajte neke, molim lijepo.\n";
  97. return 3;
  98. }
  99. int kanter=0;
  100.  
  101. for(int elemenat=0; elemenat<lista->kursor;elemenat++)
  102. {
  103. if(lista->naziv[elemenat]==nasiv)
  104. {
  105. for (int elem=elemenat; elem<lista->kursor; elem++)
  106. {
  107. lista->sifra[elem]=lista->sifra[elem+1];
  108. lista->vrsta[elem]=lista->vrsta[elem+1];
  109. lista->naziv[elem]=lista->naziv[elem+1];
  110. lista->cijena[elem]=lista->cijena[elem+1];
  111. lista->datum_dostave[elem]=lista->datum_dostave[elem+1];
  112. kanter++;
  113. lista->kursor--;
  114. }
  115. }
  116. }
  117. if (kanter==0)
  118. {
  119. cout << "\nTrazeni zapis nije nadjen u listi.\n";
  120. return 3; //nema smisla traziti da li je "brisanje" uspjesno ako nista ne brise (dio ispod - return 1 ili 0)
  121. }
  122.  
  123. for (int i=0; i<lista->kursor; i++)
  124. {
  125. if(nasiv==lista->naziv[i])
  126. return 0;
  127. }
  128. return 1;
  129. }
  130.  
  131. int brisi_ga(ljubimci_polje *lista, string vrst)
  132. {
  133. int kanter=0;
  134. for(int elemenat=0; elemenat<lista->kursor;elemenat++)
  135. {
  136. if(lista->vrsta[elemenat]==vrst)
  137. {
  138. for (int elem=elemenat; elem<lista->kursor; elem++)
  139. {
  140. lista->sifra[elem]=lista->sifra[elem+1];
  141. lista->vrsta[elem]=lista->vrsta[elem+1];
  142. lista->naziv[elem]=lista->naziv[elem+1];
  143. lista->cijena[elem]=lista->cijena[elem+1];
  144. lista->datum_dostave[elem]=lista->datum_dostave[elem+1];
  145. kanter++;
  146. lista->kursor--;
  147. }
  148. }
  149. }
  150. if (kanter==0)
  151. {
  152. cout << "\nTrazeni zapis nije nadjen u listi.\n";
  153. return 3; //nema smisla traziti da li je "brisanje" uspjesno ako nista ne brise (dio ispod - return 1 ili 0)
  154. }
  155.  
  156. for (int i=0; i<lista->kursor; i++)
  157. {
  158. if(vrst==lista->vrsta[i])
  159. return 0;
  160. }
  161. return 1;
  162. }

Report this snippet  

You need to login to post a comment.