Advertisement
Filip_Markoski

Mountain Squad (Working) - 30 March

Mar 30th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5.  
  6. class MSquad {
  7. private:
  8.     char *name;
  9.     int tours;
  10.     int members;
  11. public:
  12.     MSquad() { name = NULL; }
  13.    ~MSquad() { delete [] name; }
  14.     MSquad(const MSquad &m){
  15.         name = new char[strlen(m.name) + 1];
  16.         strcpy(name, m.name);
  17.         tours = m.tours;
  18.         members = m.members;
  19.     }
  20.     MSquad(const char *n, int t, int m){
  21.         name = new char[strlen(n) + 1];
  22.         strcpy(name, n);
  23.         tours = t;
  24.         members = m;
  25.     }
  26.     MSquad &operator = (const MSquad &m){
  27.         if(this == &m) { return *this; }
  28.         delete [] name;
  29.         name = new char[strlen(m.name) + 1];
  30.         strcpy(name, m.name);
  31.         tours = m.tours;
  32.         members = m.members;
  33.         return *this;
  34.     }
  35.    
  36.     friend MSquad operator + (const MSquad &lhs, const MSquad &rhs){
  37.         if(lhs.members > rhs.members){
  38.             return MSquad(lhs.name, lhs.tours, lhs.members + rhs.members);
  39.         }
  40.         return MSquad(rhs.name, rhs.tours, lhs.members + rhs.members);
  41.     }
  42.     inline bool operator > (const MSquad &rhs){
  43.         return members > rhs.members;
  44.     }
  45.     inline bool operator < (const MSquad &rhs){
  46.         return members < rhs.members;
  47.     }
  48.     friend ostream &operator<<(ostream &out, const MSquad &m) {
  49.         out << "Ime: " << m.name << " Turi: " << m.tours << " Clenovi: " << m.members << endl;
  50.         return out;
  51.     }
  52.    
  53.     friend void mostMembers(const MSquad m[], int len){
  54.         int max = 0;
  55.         for (int i = 0; i < len; ++i) {
  56.             if(m[i].members > m[max].members){
  57.                 max = i;
  58.             }
  59.         } cout<<"Najmnogu clenovi ima planinarskoto drustvo: "<< m[max];
  60.     }
  61. };
  62.  
  63. int main() {
  64.     MSquad squads[3];
  65.     MSquad s;
  66.     for (int i = 0; i < 3; i++) {
  67.         char name[100];
  68.         int tours;
  69.         int members;
  70.         cin >> name;
  71.         cin >> tours;
  72.         cin >> members;
  73.         squads[i] = MSquad(name, tours, members);
  74.  
  75.     }
  76.  
  77.     s = squads[0] + squads[1];
  78.     cout << s;
  79.  
  80.     mostMembers(squads, 3);
  81.  
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement