Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- #include <cmath>
- using namespace std;
- class Igrachka
- {
- public:
- virtual float getVolumen() = 0;
- virtual float getMasa() = 0;
- };
- class Forma {
- protected:
- char boja[100];
- int gustina;
- public:
- // да се имплементираат потребните методи
- Forma(const char *boja="" , int gustina=0)
- {
- strcpy(this->boja,boja);
- this->gustina=gustina;
- }
- };
- class Topka : virtual public Igrachka , public Forma
- {
- protected: int radius;
- public: Topka(const char *boja="" , int gustina=0 , int radius=0)
- {
- strcpy(this->boja,boja);
- this->gustina=gustina;
- this->radius=radius;
- }
- float getVolumen()
- {
- return 3.14*4/3*radius*radius*radius;
- }
- float getMasa()
- {
- return getVolumen()*gustina;
- }
- };
- class Kocka : virtual public Igrachka, public Forma
- {
- protected: int visina;
- int sirina;
- int dlabocina;
- public: Kocka(const char *boja="", int gustina=0 ,int visina=0, int sirina=0, int dlabocina=0)
- {
- strcpy(this->boja,boja);
- this->gustina=gustina;
- this->visina=visina;
- this->sirina=sirina;
- this->dlabocina=dlabocina;
- }
- float getVolumen()
- {
- return sirina*visina*dlabocina;
- }
- float getMasa()
- {
- return getVolumen()*gustina;
- }
- };
- int main()
- {
- int n;
- cin>>n;
- Igrachka **kupche= new Igrachka*[n];
- for(int i=0; i<n; i++)
- {
- int type;
- cin>>type;
- if(type==1)
- {
- char boja[20];
- int gustina;
- int radius;
- cin>>boja;
- cin>>gustina;
- cin>>radius;
- kupche[i]=new Topka(boja, gustina, radius);
- }
- if(type==2)
- {
- char boja[20];
- int gustina, visina, shirina, dlabochina;
- cin>>boja;
- cin>>gustina;
- cin>>visina;
- cin>>shirina;
- cin>>dlabochina;
- kupche[i]=new Kocka(boja, gustina, visina, shirina, dlabochina);
- }
- }
- float total;
- for(int i=0; i<n; i++)
- {
- total+=kupche[i]->getMasa();
- }
- char boja[20];
- int gustina, visina, shirina, dlabochina;
- cin>>boja;
- cin>>gustina;
- cin>>visina;
- cin>>shirina;
- cin>>dlabochina;
- Kocka petra(boja, gustina, visina, shirina, dlabochina);
- if(total>petra.getMasa())
- {
- cout<<"DA"<<endl;
- }
- else
- {
- cout<<"NE"<<endl;
- }
- float maxvolumen=kupche[0]->getVolumen();
- for(int i=1;i<n;i++)
- {
- if(maxvolumen<kupche[i]->getVolumen())
- {
- maxvolumen=kupche[i]->getVolumen();
- }
- }
- cout<<"Razlikata e: "<<abs(maxvolumen-petra.getVolumen())<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement