Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.35 KB | None | 0 0
  1. #include<iostream>
  2. #include<string.h>
  3. #include<cmath>
  4.  
  5. using namespace std;
  6.  
  7. class Igrachka
  8. {
  9.    protected:
  10.  
  11.     public:
  12.     virtual float getMasa()=0;
  13.     virtual float getVolumen()=0;
  14.  
  15.  
  16. };
  17. class Forma
  18. {
  19. protected:
  20.     char *boja;
  21.     float gustina;
  22. public:
  23.     Forma(char *b,float g)
  24.     {
  25.         boja=new char[strlen(b)+1];
  26.         strcpy(boja,b);
  27.         gustina=g;
  28.     }
  29.     ~Forma()
  30.     {
  31.         delete [] boja;
  32.     }
  33. };
  34. class Topka:public Igrachka,public Forma
  35. {
  36.     private:
  37.     float radius;
  38.     public:
  39.         Topka(char *b,float gus,float r):Forma(b,gus)
  40.     {
  41.         radius=r;
  42.     }
  43.     float getMasa()
  44.     {
  45.         return gustina*getVolumen();
  46.     }
  47.     float getVolumen()
  48.     {
  49.         return 3.14*4/3*radius*radius*radius;
  50.     }
  51.  
  52. };
  53. class Kocka:public Igrachka,public Forma
  54. {
  55.     private:
  56.     float visina;
  57.     float sirina;
  58.     float dlabocina;
  59.     public:
  60.  
  61.     Kocka(char *b,float gus,float vi,float si,float dl):Forma(b,gus)
  62.     {
  63.         visina=vi;
  64.         sirina=si;
  65.         dlabocina=dl;
  66.     }
  67.     float getMasa()
  68.     {
  69.         return gustina*(visina*sirina*dlabocina);
  70.     }
  71.     float getVolumen()
  72.     {
  73.         return visina*sirina*dlabocina;
  74.     }
  75.  
  76. };
  77. int main()
  78. {
  79.     int n;
  80.     cin>>n;
  81.     int k;
  82.     char boja[100];
  83.     float gustina;
  84.     float radius;
  85.     float visina;
  86.     float sirina;
  87.     float dlabocina;
  88.    Igrachka **kupche=new Igrachka*[n];
  89.     for(int i=0;i<n;i++)
  90.     {
  91.         cin>>k;
  92.         if(k==1)
  93.         {
  94.             cin>>boja>>gustina>>radius;
  95.             kupche[i]=new Topka(boja,gustina,radius);
  96.         }
  97.         if(k==2)
  98.         {
  99.             cin>>boja>>gustina>>visina>>sirina>>dlabocina;
  100.             kupche[i]=new Kocka(boja,gustina,visina,sirina,dlabocina);
  101.         }
  102.     }
  103.     cin>>boja>>gustina>>visina>>sirina>>dlabocina;
  104.     Kocka petra(boja,gustina,visina,sirina,dlabocina);
  105.  
  106.     float vkupno=0;
  107.     for(int i=0;i<n;i++)
  108.     {
  109.         vkupno=vkupno+kupche[i]->getMasa();
  110.     }
  111.     if(vkupno>petra.getMasa())
  112.         cout<<"DA"<<endl;
  113.     else
  114.         cout<<"NE"<<endl;
  115.     float max=kupche[0]->getVolumen();
  116.     for(int i=1;i<n;i++)
  117.     {
  118.         if(max<kupche[i]->getVolumen())
  119.         {
  120.             max=kupche[i]->getVolumen();
  121.         }
  122.     }
  123.     cout<<"Razlikata e: "<<abs(max-petra.getVolumen());
  124.     return 0;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement