Advertisement
ilevishinov

Ракомет

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