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