Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- KOLEKCIJA
- #pragma once
- #include <functional>
- //typedef Tip;
- template <class Tip>
- struct Kolekcija
- {
- int max_size = 30;
- Tip* podaci = new Tip[max_size];
- int brojac = 0;
- void Prosiri()
- {
- max_size *= 2;
- Tip* podaciNew = new Tip[max_size];
- for (int i = 0; i < brojac; i++)
- {
- podaciNew[i] = podaci[i];
- }
- delete[]podaci;
- podaci = podaciNew;
- }
- Tip& Get(int i)
- {
- return podaci[i];
- }
- void Dodaj(Tip newV)
- {
- if (brojac == max_size)
- Prosiri();
- podaci[brojac++] = newV;
- }
- void ForEach(std::function<void(Tip&)> p)
- {
- for (int i = 0; i < brojac; i++)
- {
- Tip& t = podaci[i];
- p(t);
- }
- }
- Kolekcija Filter(std::function<bool(Tip&)> f)
- {
- Kolekcija newK;
- for (int i = 0; i < brojac; i++)
- {
- Tip &x = podaci[i];
- if (f(x))
- {
- newK.Dodaj(x);
- }
- }
- return newK;
- }
- };
- */
- /*
- DATUM
- #pragma once
- #include<iostream>
- using namespace std;
- struct Datum
- {
- int _dan;
- int _mjesec;
- int _godina;
- //static Datum Napravi(int d, int m, int g)
- //{
- // Datum datum;
- // datum._dan = d;
- // datum._mjesec = m;
- // datum._godina = g;
- // return datum;
- //}
- bool jednako(Datum& drugi)
- {
- return
- (_dan == drugi._dan) &&
- (_mjesec == drugi._mjesec) &&
- (_godina == drugi._godina);
- }
- void Ispis()
- {
- cout << "Datum: " << _dan << "." << _mjesec << "." << _godina << endl;
- }
- };
- Datum Napravi(int d, int m, int g)
- {
- Datum datum;
- datum._dan = d;
- datum._mjesec = m;
- datum._godina = g;
- return datum;
- }
- */
- #include <iostream>
- #include "Kolekcija.h"
- #include "Datum.h"
- using namespace std;
- void main()
- {
- /*
- a) Instancirajte Kolekcija k1. Dodajte 5 elemenata u k1.
- Instancirajte kolekcija k2 u dinamičkoj memoriji. Dodajte 5 elemenata u k2
- */
- //Kolekcija k1;
- //k1.Dodaj(21);
- //k1.Dodaj(22);
- //k1.Dodaj(23);
- //k1.Dodaj(24);
- //k1.Dodaj(25);
- ////ispis:
- //k1.ForEach([&](int p)
- //{
- // cout << p << ", ";
- //});
- //cout << endl;
- //Kolekcija * k2 = new Kolekcija;
- //k2->Dodaj(31);
- //k2->Dodaj(32);
- //k2->Dodaj(33);
- //k2->Dodaj(34);
- //k2->Dodaj(35);
- //k2->ForEach([&](int p)
- //{
- // cout << p << ", ";
- //});
- //cout << endl;
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- b) Prepravite int Tip u Datum Tip. Umjesto brojeva dodajte datuma u k1 i k2.
- */
- /*Kolekcija k1;
- k1.Dodaj(Napravi(23,3,2017));
- k1.Dodaj(Napravi(24, 3, 2017));
- k1.Dodaj(Napravi(25, 3, 2017));
- k1.Dodaj(Napravi(26, 3, 2017));
- k1.Dodaj(Napravi(27, 3, 2017));
- ispis:
- k1.ForEach([](Datum p)
- {
- p.Ispis();
- });
- cout << endl;
- Kolekcija * k2 = new Kolekcija;
- k2->Dodaj(Napravi(21, 3, 2017));
- k2->Dodaj(Napravi(20, 3, 2017));
- k2->Dodaj(Napravi(19, 3, 2017));
- k2->Dodaj(Napravi(8, 3, 2017));
- k2->Dodaj(Napravi(17, 3, 2017));
- k2->ForEach([](Datum p)
- {
- p.Ispis();
- });
- cout << endl;
- delete k2;*/
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- c) Prepravite Datum Tip u Datum* Tip.
- */
- //Kolekcija k1;
- //k1.Dodaj(&Napravi(23, 3, 2017));
- //k1.Dodaj(&Napravi(24, 3, 2017));
- //k1.Dodaj(&Napravi(24, 3, 2017));
- //k1.Dodaj(&Napravi(25, 3, 2017));
- //k1.Dodaj(&Napravi(26, 3, 2017));
- //k1.Dodaj(&Napravi(27, 3, 2017));
- // //ispis:
- //k1.ForEach([](Datum p)
- //{
- // p->Ispis();
- //});
- //cout << endl;
- //Kolekcija * k2 = new Kolekcija;
- //k2->Dodaj(&Napravi(21, 3, 2017));
- //k2->Dodaj(&Napravi(20, 3, 2017));
- //k2->Dodaj(&Napravi(19, 3, 2017));
- //k2->Dodaj(&Napravi(8, 3, 2017));
- //k2->Dodaj(&Napravi(17, 3, 2017));
- //k2->ForEach([](Datum p)
- //{
- // p->Ispis();
- //});
- //cout << endl;
- //delete k2;
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- U istom programu definišite
- a) Kolekciju k1 za integer
- b) Kolekciju k2 za float
- c) Kolekciju k3 za Datum*
- d) Kolekciju k4 za Datum
- */
- Kolekcija <int> k1;
- Kolekcija <float> k2;
- Kolekcija <Datum*>k3;
- Kolekcija <Datum> k4;
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement