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 double getMasa()=0;
- virtual double getVolumen()=0;
- };
- class Forma
- {protected:
- int gustina;
- char *boja;
- public:
- Forma(int gustina=0,char *boja="")
- {
- this->gustina=gustina;
- boja=new char[strlen(boja)+1];
- strcpy(this->boja,boja);
- }
- ~Forma()
- {
- delete [] boja;
- }
- };
- class Kocka : public Igrachka, public Forma
- { private:
- int visina;
- int sirina;
- int dlabocina;
- public:
- Kocka(int gustina=0,char *boja="",int visina=0,int sirina=0,int dlabocina=0) : Forma(gustina,boja)
- {
- this->visina=visina;
- this->sirina=sirina;
- this->dlabocina=dlabocina;
- }
- double getVolumen()
- {
- return visina*sirina*dlabocina;
- }
- double getMasa()
- {
- return getVolumen()*gustina;
- }
- };
- class Topka : public Igrachka, public Forma
- { private:
- int radius;
- public:
- Topka(int gustina,char *boja,int radius=0): Forma(gustina,boja)
- {
- this->radius=radius;
- }
- double getVolumen()
- {
- return 3.14*4/3*radius*radius*radius;
- }
- double getMasa()
- {
- return getVolumen()*gustina;
- }
- };
- int main()
- { int n;
- cin>>n;
- Igrachka **kupche=new Igrachka*[n];
- int visina,sirina,dlabocina,gustina,radius;
- char boja[50];
- int p;
- cin>>p;
- for(int i=0;i<n;i++)
- {
- if(p==1)
- {
- cin>>gustina>>boja>>radius;
- kupche[i]=new Topka(gustina,boja,radius);
- }
- if(p==2)
- {
- cin>>gustina>>boja>>visina>>sirina>>dlabocina;
- kupche[i]=new Kocka(gustina,boja,visina,dlabocina);
- }
- }
- cin>>gustina>>boja>>visina>>sirina>>dlabocina;
- Kocka petra(gustina,boja,visina,sirina,dlabocina);
- double masap=0;
- for(int i=0;i<n;i++)
- {
- masap+=kupche[i]->getMasa();
- }
- if(masap>petra.getMasa())
- cout<<"da"<<endl;
- else
- cout<<"ne"<<endl;
- double 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());
- return 0;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment