Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string.h>
- #include<cmath>
- using namespace std;
- class Igrachka
- {
- protected:
- public:
- virtual float getMasa()=0;
- virtual float getVolumen()=0;
- };
- class Forma
- {
- protected:
- char *boja;
- float gustina;
- public:
- Forma(char *b,float g)
- {
- boja=new char[strlen(b)+1];
- strcpy(boja,b);
- gustina=g;
- }
- ~Forma()
- {
- delete [] boja;
- }
- };
- class Topka:public Igrachka,public Forma
- {
- private:
- float radius;
- public:
- Topka(char *b,float gus,float r):Forma(b,gus)
- {
- radius=r;
- }
- float getMasa()
- {
- return gustina*getVolumen();
- }
- float getVolumen()
- {
- return 3.14*4/3*radius*radius*radius;
- }
- };
- class Kocka:public Igrachka,public Forma
- {
- private:
- float visina;
- float sirina;
- float dlabocina;
- public:
- Kocka(char *b,float gus,float vi,float si,float dl):Forma(b,gus)
- {
- visina=vi;
- sirina=si;
- dlabocina=dl;
- }
- float getMasa()
- {
- return gustina*(visina*sirina*dlabocina);
- }
- float getVolumen()
- {
- return visina*sirina*dlabocina;
- }
- };
- int main()
- {
- int n;
- cin>>n;
- int k;
- char boja[100];
- float gustina;
- float radius;
- float visina;
- float sirina;
- float dlabocina;
- Igrachka **kupche=new Igrachka*[n];
- for(int i=0;i<n;i++)
- {
- cin>>k;
- if(k==1)
- {
- cin>>boja>>gustina>>radius;
- kupche[i]=new Topka(boja,gustina,radius);
- }
- if(k==2)
- {
- cin>>boja>>gustina>>visina>>sirina>>dlabocina;
- kupche[i]=new Kocka(boja,gustina,visina,sirina,dlabocina);
- }
- }
- cin>>boja>>gustina>>visina>>sirina>>dlabocina;
- Kocka petra(boja,gustina,visina,sirina,dlabocina);
- float vkupno=0;
- for(int i=0;i<n;i++)
- {
- vkupno=vkupno+kupche[i]->getMasa();
- }
- if(vkupno>petra.getMasa())
- cout<<"DA"<<endl;
- else
- cout<<"NE"<<endl;
- float max=kupche[0]->getVolumen();
- for(int i=1;i<n;i++)
- {
- if(max<kupche[i]->getVolumen())
- {
- max=kupche[i]->getVolumen();
- }
- }
- cout<<"Razlikata e: "<<abs(max-petra.getVolumen());
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement