Posted By

mmilutin2 on 11/12/12


Tagged

1 lista mario polje zadatak Milutin


Versions (?)

Zadatak 1 Lista polje Mario Milutin


 / Published in: C++
 

Pošto se radi o strogo zadanim funkcijama koje su iste svim studentima, nema nekih prevelikih razlika u kodu osim u drugačijim nazivima varijabli te rasporedu pisanja samih funkcija.

  1. using namespace std;
  2. int sifra=1;
  3. int kursor;
  4.  
  5. struct tzivotinja {
  6. int sifra;
  7. char vrsta[30],naziv[30];
  8. float cijena;
  9. tm datum;
  10. };
  11.  
  12. tzivotinja lista[1000];
  13.  
  14. void initL(tzivotinja *lista){
  15. kursor = 1;
  16. }
  17.  
  18. int endL(tzivotinja *lista){
  19. return kursor;
  20. }
  21.  
  22. int firstL(tzivotinja *lista){
  23. return 0;
  24. }
  25.  
  26. void insert2(tzivotinja tekuci, int p, tzivotinja *lista){
  27. lista[p] = tekuci;
  28. }
  29.  
  30. tzivotinja * nextL(int p,tzivotinja *lista){
  31. if(p == endL(lista)) return lista;
  32. else return &lista[p+1];
  33. }
  34.  
  35. int previousL(int p,tzivotinja *lista){
  36. if(p == firstL(lista)) return -1;
  37. else return p-1;
  38. }
  39.  
  40. tzivotinja retrieveL(int p, tzivotinja *lista){
  41. return *(lista+p);
  42. }
  43.  
  44.  
  45. int insertL(tzivotinja *novi, int p, tzivotinja *lista){
  46. --p;
  47. (lista+p)->sifra = novi->sifra;
  48. strcpy((lista+p)->naziv,novi->naziv);
  49. strcpy((lista+p)->vrsta,novi->vrsta);
  50. (lista+p)->cijena = novi->cijena;
  51. ((lista+p)->datum).tm_mday = (novi->datum).tm_mday;
  52. ((lista+p)->datum).tm_mon = (novi->datum).tm_mon;
  53. ((lista+p)->datum).tm_year = (novi->datum).tm_year;
  54. sifra++;
  55. kursor++;
  56. return((lista+p)->sifra == novi->sifra);
  57. }
  58.  
  59. void Vrati(tzivotinja element, int p, tzivotinja *lista){
  60. lista[p]=element;
  61. }
  62.  
  63. void reverse(tzivotinja * lista){
  64. int broj_elemenata = endL(lista)-1;
  65. for(int i=0;i<=broj_elemenata/2;i++) swap(lista[i],lista[broj_elemenata-i-1]);
  66.  
  67. }
  68.  
  69. void deleteL(int p, tzivotinja *lista){
  70. for(int i=p;i<endL(lista);i++){
  71. lista[i].sifra = lista[i+1].sifra;
  72. strcpy((lista+i)->naziv,(lista+i+1)->naziv);
  73. strcpy((lista+i)->vrsta,(lista+i+1)->vrsta);
  74. lista[i].cijena = lista[i+1].cijena;
  75. ((lista+i)->datum).tm_mday = (lista+i+1)->datum.tm_mday;
  76. ((lista+i)->datum).tm_mon = (lista+i+1)->datum.tm_mon;
  77. ((lista+i)->datum).tm_year = (lista+i+1)->datum.tm_year;
  78. }
  79. kursor--;
  80. }

Report this snippet  

You need to login to post a comment.