Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- class Clen
- {
- char ime[50];
- char prezime[50];
- int stepen;
- public:
- Clen(){}
- Clen(char *i, char *p, int s)
- {
- strcpy(ime,i);
- strcpy(prezime,p);
- stepen=s;
- }
- Clen &operator++()
- {
- ++stepen;
- return *this;
- }
- Clen operator++(int)
- {
- Clen temp(this->ime,this->prezime,this->stepen);
- ++*this;
- return temp;
- }
- friend ostream &operator<<(ostream &output, const Clen &rhs)
- {
- output<<rhs.ime<<" "<<rhs.prezime<<", "<<rhs.stepen<<endl;
- return output;
- }
- bool operator!= (const Clen &rhs)
- {
- return this->stepen!=rhs.stepen;
- }
- };
- class Klub
- {
- char ime[100];
- Clen* clenovi;
- int brojNaClenovi;
- public:
- Klub()
- {
- brojNaClenovi=0;
- clenovi=new Clen[0];
- }
- Klub(char *i)
- {
- brojNaClenovi=0;
- clenovi=new Clen[0];
- strcpy(ime,i);
- }
- Klub &operator+=(const Clen &rhs)
- {
- Clen* temp=new Clen[brojNaClenovi];
- for(int i=0;i<brojNaClenovi;i++)
- temp[i]=clenovi[i];
- delete[] clenovi;
- clenovi = new Clen[brojNaClenovi+1];
- for(int i=0;i<brojNaClenovi;i++)
- clenovi[i]=temp[i];
- delete[] temp;
- clenovi[brojNaClenovi++]=rhs;
- return *this;
- }
- friend ostream &operator<<(ostream &output, const Klub &rhs)
- {
- output<<rhs.ime<<endl;
- for(int i=0;i<rhs.brojNaClenovi;i++)
- output<<rhs.clenovi[i];
- return output;
- }
- Klub &novKlub(Clen &c)
- {
- Klub temp(this->ime);
- for(int i=0;i<this->brojNaClenovi;i++)
- {
- if(this->clenovi[i]!=c)
- continue;
- else
- {
- temp+=++(this->clenovi[i]);
- }
- }
- return temp;
- }
- };
- int main()
- {
- Clen clen;
- int n, stepen;
- char ime[30], prezime[30];
- cin >> ime >> n;
- Klub k1(ime);
- for(int i = 0; i < n; i++){
- cin >> ime >> prezime >> stepen;
- Clen c(ime, prezime, stepen);
- k1 += c;
- clen = c;
- }
- Klub k2 = k1.novKlub(clen);
- cout << k2;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment