Andziev

Ракомет

Apr 22nd, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. class TimRakomet
  5. {
  6.     protected:
  7.     char ime [30];
  8.     float gol;
  9.     public:
  10.     TimRakomet (const char *i="",float g = 0.0)
  11.     {
  12.         strcpy(ime,i);
  13.         gol=g;
  14.     }
  15.     virtual float dostignuvanje()
  16.     {
  17.         return gol;
  18.     }
  19.     char *getIme()
  20.     {
  21.         return ime;
  22.     }
  23. };
  24. class Klub : public TimRakomet
  25. {
  26.     private:
  27.     int tituli;
  28.     public:
  29.     Klub (const char *i="",float g = 0.0,int t=0)
  30.     : TimRakomet (i,g)
  31.     {
  32.         tituli=t;
  33.     }
  34.     float dostignuvanje ()
  35.     {
  36.         return TimRakomet::dostignuvanje() * 5 + tituli * 50;
  37.     }
  38. };
  39. class Reprezentacija : public TimRakomet
  40. {
  41.     private:
  42.     int rang [3];
  43.     public:
  44.     Reprezentacija (const char *i="",float g = 0.0,int *r = 0)
  45.     : TimRakomet (i,g)
  46.     {
  47.         for(int i=0; i<3; i++)
  48.             rang[i]=r[i];
  49.     }
  50.     float dostignuvanje ()
  51.     {
  52.         int k=0;
  53.         for(int i=0; i<3; i++)
  54.         {
  55.             if(rang[i]==1)
  56.                 k+=60;
  57.             else if (rang[i]==2)
  58.                 k+=40;
  59.             else if (rang[i]==3)
  60.                 k+=20;
  61.         }
  62.         return TimRakomet::dostignuvanje() * 5 + k;
  63.     }
  64. };
  65. void najdobar ( TimRakomet ** t, int n)
  66. {
  67.     int index,max=0;
  68.     for (int i=0; i<n; i++)
  69.     {
  70.         if(max<t[i]->dostignuvanje())
  71.         {
  72.             max = t[i]->dostignuvanje();
  73.             index = i;
  74.         }
  75.     }
  76.     cout<<t[index]->getIme()<<endl;
  77.     cout<<t[index]->dostignuvanje();
  78. }
  79. int main() {
  80.     int n;
  81.     cin >> n;
  82.     TimRakomet** timovi = new TimRakomet*[n];
  83.     for(int i = 0; i < n; ++i) {
  84.         char ime[30];
  85.         float prosekGolovi;
  86.         cin >> ime >> prosekGolovi;
  87.         if(i % 2) {
  88.             int tituli;
  89.             cin >> tituli;
  90.             timovi[i] = new Klub(ime, prosekGolovi, tituli);
  91.         } else {
  92.             int rank[] = {0, 0, 0};
  93.             cin >> rank[0] >> rank[1] >> rank[2];
  94.             timovi[i] = new Reprezentacija(ime, prosekGolovi, rank);
  95.         }
  96.     }
  97.  
  98.     najdobar(timovi, n);
  99.  
  100.     for(int i = 0; i < n; ++i) {
  101.         delete timovi[i];
  102.     }
  103.     delete [] timovi;
  104.     return 0;
  105. }
Add Comment
Please, Sign In to add comment