add1ctus

2. Танцов клуб

May 15th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.29 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4.  
  5. class Clen
  6. {
  7.     char ime[50];
  8.     char prezime[50];
  9.     int stepen;
  10. public:
  11.     Clen(){}
  12.     Clen(char *i, char *p, int s)
  13.     {
  14.         strcpy(ime,i);
  15.         strcpy(prezime,p);
  16.         stepen=s;
  17.     }
  18.     Clen &operator++()
  19.     {
  20.         ++stepen;
  21.         return *this;
  22.     }
  23.     Clen operator++(int)
  24.     {
  25.         Clen temp(this->ime,this->prezime,this->stepen);
  26.         ++*this;
  27.         return temp;
  28.     }
  29.     friend ostream &operator<<(ostream &output, const Clen &rhs)
  30.     {
  31.         output<<rhs.ime<<" "<<rhs.prezime<<", "<<rhs.stepen<<endl;
  32.         return output;
  33.     }
  34.     bool operator!= (const Clen &rhs)
  35.     {
  36.         return this->stepen!=rhs.stepen;
  37.     }
  38. };
  39.  
  40. class Klub
  41. {
  42.     char ime[100];
  43.     Clen* clenovi;
  44.     int brojNaClenovi;
  45. public:
  46.     Klub()
  47.     {
  48.         brojNaClenovi=0;
  49.         clenovi=new Clen[0];
  50.     }
  51.     Klub(char *i)
  52.     {
  53.         brojNaClenovi=0;
  54.         clenovi=new Clen[0];
  55.         strcpy(ime,i);
  56.     }
  57.     Klub &operator+=(const Clen &rhs)
  58.     {
  59.         Clen* temp=new Clen[brojNaClenovi];
  60.         for(int i=0;i<brojNaClenovi;i++)
  61.             temp[i]=clenovi[i];
  62.         delete[] clenovi;
  63.         clenovi = new Clen[brojNaClenovi+1];
  64.         for(int i=0;i<brojNaClenovi;i++)
  65.             clenovi[i]=temp[i];
  66.         delete[] temp;
  67.         clenovi[brojNaClenovi++]=rhs;
  68.         return *this;
  69.     }
  70.     friend ostream &operator<<(ostream &output, const Klub &rhs)
  71.     {
  72.         output<<rhs.ime<<endl;
  73.         for(int i=0;i<rhs.brojNaClenovi;i++)
  74.             output<<rhs.clenovi[i];
  75.         return output;
  76.     }
  77.     Klub &novKlub(Clen &c)
  78.     {
  79.         Klub temp(this->ime);
  80.         for(int i=0;i<this->brojNaClenovi;i++)
  81.         {
  82.             if(this->clenovi[i]!=c)
  83.                 continue;
  84.             else
  85.             {
  86.                 temp+=++(this->clenovi[i]);
  87.             }
  88.         }
  89.         return temp;
  90.     }
  91. };
  92.  
  93. int main()
  94. {
  95.     Clen clen;
  96.     int n, stepen;
  97.     char ime[30], prezime[30];
  98.     cin >> ime >> n;
  99.     Klub k1(ime);
  100.     for(int i = 0; i < n; i++){
  101.         cin >> ime >> prezime >> stepen;
  102.         Clen c(ime, prezime, stepen);
  103.         k1 += c;
  104.         clen = c;
  105.     }
  106.     Klub k2 = k1.novKlub(clen);
  107.     cout << k2;
  108.     return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment