Advertisement
mbojmaliev

Ракомет

May 8th, 2017
103
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.  
  5. class TimRakomet{
  6. protected:
  7.     char ime[31];
  8.     double golovi;
  9. public:
  10.     TimRakomet(char * ime, double golovi){
  11.         strcpy(this->ime, ime);
  12.         this->golovi = golovi;
  13.     }
  14.     virtual double dostignuvanje(){
  15.         return golovi*5;
  16.     }
  17.     char *getIme(){
  18.     return ime;
  19.     }
  20. };
  21.  
  22. class Klub:public TimRakomet{
  23. private:
  24.     int brojtituli;
  25. public:
  26.     Klub(char * ime, double golovi, int brojtituli):TimRakomet(ime, golovi){
  27.     this->brojtituli = brojtituli;
  28.     }
  29.    
  30.     double dostignuvanje(){
  31.         return TimRakomet::dostignuvanje() + brojtituli*50;
  32.     }
  33.    
  34. };
  35.  
  36. class Reprezentacija:public TimRakomet{
  37. private:
  38.     int rank[3];
  39. public:
  40.     Reprezentacija(char * ime, double golovi, int rank[3]):TimRakomet(ime, golovi){
  41.     for(int i=0; i<3; i++)this->rank[i] = rank[i];
  42.     }
  43.     double dostignuvanje(){
  44.     double dodatok=0;
  45.     if(rank[0]== 1)dodatok+=60;
  46.         else if(rank[0]== 2)dodatok+=40;
  47.         else if(rank[0]== 3)dodatok+=20;
  48.     if(rank[1]== 1)dodatok+=60;
  49.         else if(rank[1]== 2)dodatok+=40;
  50.         else if(rank[1]== 3)dodatok+=20;
  51.     if(rank[2]== 1)dodatok+=60;
  52.         else if(rank[2]== 2)dodatok+=40;
  53.         else if(rank[2]== 3)dodatok+=20;
  54.     return TimRakomet::dostignuvanje()+dodatok;
  55.     }
  56.  
  57. };
  58.  
  59. void najdobar(TimRakomet **t, int broj){
  60.     int naj=0;
  61.     for(int i=1; i<broj; i++){
  62.     if(t[i]->dostignuvanje() > t[naj]->dostignuvanje())naj = i;
  63.     }
  64.    
  65.     cout<<t[naj]->getIme()<<endl<<t[naj]->dostignuvanje();
  66. }
  67.  
  68. int main() {
  69.     int n;
  70.     cin >> n;
  71.     TimRakomet** timovi = new TimRakomet*[n];
  72.     for(int i = 0; i < n; ++i) {
  73.         char ime[30];
  74.         float prosekGolovi;
  75.         cin >> ime >> prosekGolovi;
  76.         if(i % 2) {
  77.             int tituli;
  78.             cin >> tituli;
  79.             timovi[i] = new Klub(ime, prosekGolovi, tituli);
  80.         } else {
  81.             int rank[] = {0, 0, 0};
  82.             cin >> rank[0] >> rank[1] >> rank[2];
  83.             timovi[i] = new Reprezentacija(ime, prosekGolovi, rank);
  84.         }
  85.     }
  86.  
  87.     najdobar(timovi, n);
  88.  
  89.     for(int i = 0; i < n; ++i) {
  90.         delete timovi[i];
  91.     }
  92.     delete [] timovi;
  93.     return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement