Advertisement
Mitko_jos

moe delo so pomos :)

Mar 30th, 2013
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.13 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. class Fotografija
  8. {
  9. private:
  10. char *opis;
  11. int rezolucija;
  12. int moment_na_fotografiranje;
  13. public:
  14. Fotografija()
  15. {
  16.     opis=new char[1];
  17.     strcpy(opis, "");
  18.  
  19. }
  20. Fotografija(char *_opis,int _rezolucija,int _moment_na_fotografiranje)
  21. {
  22.     opis=new char[strlen(_opis)+1];
  23.     strcpy(opis,_opis);
  24.     rezolucija=_rezolucija;
  25.     moment_na_fotografiranje=_moment_na_fotografiranje;
  26. }
  27. ~Fotografija()
  28. {
  29.     delete[] opis;
  30. }
  31. const char *getOpis(){return opis;}
  32. int getRezolucija(){return rezolucija;}
  33. int  getMomentNaFotografiranje(){return moment_na_fotografiranje;}
  34.  
  35. bool operator<(Fotografija &p)
  36. {
  37.     //if(rezolucija!=p.rezolucija)
  38.     return rezolucija<p.rezolucija;
  39. }
  40. friend ostream& operator<<(ostream& out,Fotografija &l)
  41. {
  42.     out<<""<<l.getOpis()<<" "<<l.getRezolucija()<<endl;
  43.     return out;
  44.  
  45. }
  46. Fotografija(Fotografija &p)
  47. {
  48.  
  49.     opis=new char[strlen(p.opis)+1];
  50.     strcpy(opis,p.opis);
  51.     rezolucija=p.rezolucija;
  52.     moment_na_fotografiranje=p.moment_na_fotografiranje;
  53.  
  54. }
  55.  
  56.  
  57. Fotografija& operator=(Fotografija &y)
  58. {
  59.     if(this != &y)
  60.     {
  61.         delete[] opis;
  62.         opis=new char[strlen(y.opis)+1];
  63.         strcpy(opis,y.opis);
  64.         rezolucija=y.rezolucija;
  65.         moment_na_fotografiranje=y.moment_na_fotografiranje;
  66.     }
  67.     return *this;
  68.  
  69. }
  70. };
  71.  
  72. class Album
  73. {
  74.   private:
  75.   Fotografija *fotografii;
  76.   int broj_fotografii;
  77.   char ime_album[50];
  78.   public:
  79.   Album()
  80.   {
  81.   }
  82.  
  83.   Album(const char *_ime_album="",Fotografija *_fotografii=0,int _broj_fotografii=0)
  84.   {
  85.       strcpy(ime_album,_ime_album);
  86.  
  87.       broj_fotografii=_broj_fotografii;
  88.       if (broj_fotografii > 0)
  89.       {
  90.           fotografii=new Fotografija[broj_fotografii];
  91.           for(int i=0;i<broj_fotografii;i++)
  92.           {
  93.               fotografii[i]=_fotografii[i];
  94.           }
  95.       }
  96.       else
  97.       {
  98.           fotografii = NULL;
  99.       }
  100.   }
  101. ~Album()
  102. {
  103.     delete[] fotografii;
  104. }
  105. Fotografija &operator[](int i)
  106. {
  107.     Fotografija& pom=fotografii[i];
  108.  
  109.  
  110.     return pom;
  111. }
  112.  
  113.  
  114. Album& operator+=(Fotografija t)
  115. {
  116.     Fotografija *pom;
  117.     pom=new Fotografija[broj_fotografii+1];
  118.     for(int i=0;i<broj_fotografii;i++)
  119.     {
  120.         pom[i]=fotografii[i];
  121.     }
  122.     pom[broj_fotografii]=t;
  123.     broj_fotografii++;
  124.     //if
  125.     delete[] fotografii;
  126.     fotografii=pom;
  127.     return *this;
  128. }
  129. int najgolemaFotografija()
  130. {
  131.     int max=0;
  132.     for(int i=0;i<broj_fotografii;i++)
  133.     {
  134.         if(fotografii[i].getRezolucija()>max)
  135.         {
  136.             max=fotografii[i].getRezolucija();
  137.         }
  138.         return max;
  139.     }
  140.  
  141. }
  142.  
  143.  
  144. int getBrojFotografii(){return broj_fotografii;}
  145.  
  146.  
  147.  
  148.  
  149. };
  150.  
  151.  
  152.  
  153.  
  154. int main()
  155. {
  156.  
  157. Fotografija f1("Golem Korab",8000,15500);
  158. Fotografija f2("Ohridsko Ezero",7500,17000);
  159. Fotografija f3("Vodno od juzhna strana",2200,17500);
  160. Album a("Vo priroda");
  161. a += f1;
  162. a += f2;
  163. a += f3;
  164. cout << " Najgolema fotografija : " << endl;
  165. cout << a. najgolemaFotografija();
  166. cout << " ----------------------" << endl;
  167. for (int i=0;i<a.getBrojFotografii();i++)
  168. {
  169.     cout<<a[i]<<endl;
  170. }
  171.  
  172.  
  173.     return 0;
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement