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