Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class Kvadar {
- int a, b, c;
- public:
- Kvadar(int aa = 1, int bb = 1, int cc = 1) {
- a = aa; b = bb; c = cc;
- }
- int V() const {
- return a * b*c;
- }
- int dohvA() const { return a; }
- int dohvB() const { return b; }
- int dohvC() const { return c; }
- //da li dva kvadra imaju iste ivice
- friend bool operator==(const Kvadar& k1, const Kvadar& k2) {
- if (k1.dohvA() == k2.dohvB() && k1.dohvB() == k2.dohvB() && k1.dohvC() == k2.dohvC()) return true;
- else return false;
- }
- friend bool operator<(const Kvadar& k1, const Kvadar& k2) {
- if (k1.V() < k2.V()) return true;
- else return false;
- }
- friend istream& operator>>(istream& ut, Kvadar& k) {
- ut >> k.a >> k.b >> k.c;
- return ut;
- }
- friend ostream& operator<<(ostream& it, const Kvadar& k) {
- it << "(" << k.dohvA() << "," << k.dohvB() << "," << k.dohvC() << endl;
- return it;
- }
- };
- class Niz_kvad {
- int n;
- Kvadar* niz;
- int br_kvad;
- void brisi() {
- delete[] niz;
- n = 5;
- }
- public:
- Niz_kvad(Kvadar* array, int nn = 5) {
- n = nn;
- array = new Kvadar[n];
- br_kvad = 0;
- }
- ~Niz_kvad() { brisi(); }
- bool operator+=(const Kvadar& k) {
- if (br_kvad == n) return false;
- else {
- br_kvad++;
- int tmp = br_kvad;
- while (k.V() < niz[tmp].V()) {
- niz[tmp] = niz[tmp - 1];
- tmp--;
- }
- niz[tmp] = k;
- return true;
- }
- }
- //ispisuje se niz kvadara
- friend ostream& operator<<(ostream& it, const Niz_kvad &kvadri) {
- for (int i = 0; i < kvadri.br_kvad; i++) it << "(" << kvadri.niz[i].dohvA() << "," << kvadri.niz[i].dohvB() << "," << kvadri.niz[i].dohvC() << endl;
- return it;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement