Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Tacka3D {
- public:
- int x, y, z;
- Tacka3D() {};
- Tacka3D(int x, int y, int z) {
- this->x = x;
- this->y = y;
- this->z = z;
- }
- };
- class PrioSekv {
- int maxSize = 10;
- Tacka3D* niz = new Tacka3D[maxSize];
- int brojac = 0;
- int udaljenost(int index) {
- return sqrt(pow(0 - niz[index].x, 2) + pow(0 - niz[index].y, 2) + pow(0 - niz[index].z, 2));
- }
- void prosiriNiz() {
- maxSize *= 2;
- Tacka3D* temp = new Tacka3D[maxSize];
- for (int i = 0; i < brojac; i++)
- {
- temp[i] = niz[i];
- }
- delete[] niz;
- niz = temp;
- }
- public:
- /*dodajes x*/
- void dodaj(Tacka3D x) {
- if (jeLiPun()) {
- prosiriNiz();
- }
- niz[brojac] = x;
- brojac++;
- }
- bool jeLiPun() {
- return maxSize == brojac;
- }
- /*ovdje uklanjas pomocu funkcije udaljenost*/
- Tacka3D ukloni() {
- if (jeLiPrazan()) {
- throw exception("Lista je prazna");
- }
- int minUdaljenost = INT_MAX;
- int minIndeks = -1;
- for (int i = 0; i < brojac; i++)
- {
- int d = udaljenost(i);
- if (d < minUdaljenost)
- {
- minUdaljenost = d;
- minIndeks = i;
- }
- }
- Tacka3D temp = niz[minIndeks];
- brojac--;
- niz[minIndeks] = niz[brojac];
- return temp;
- }
- bool jeLiPrazan() {
- return brojac == 0;
- }
- void ispis() {
- for (int i = 0; i < brojac; i++)
- {
- cout << niz[i].x << " " << niz[i].y << " " << niz[i].z << endl;
- }
- }
- };
- int main() {
- PrioSekv A;
- Tacka3D t1(11,15,3), t2(3, 4, 5), t3(7, 8, 9);
- A.dodaj(t1);
- A.dodaj(t2);
- A.dodaj(t3);
- cout << "Dodano: " << endl;
- A.ispis();
- Tacka3D uklonjena = A.ukloni();
- cout <<"Uklonjeno: "<< uklonjena.x << " " << uklonjena.y << " " << uklonjena.z << endl;
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement