Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- TP 2018/2019: Tutorijal 6, Zadatak 2
- Autotestovi by Kerim Hodzic. Prijave gresaka, pitanja
- i sugestije saljite na mail: khodzic2@etf.unsa.ba
- Napomene: testovi su konacni tek pred tutorijal
- za krsenje zabrana dobiva se 0 bodova za zadatak
- */
- #include <iostream>
- #include <vector>
- using std::cin;
- using std::cout;
- using std::endl;
- template <typename Tip>
- auto KreirajIzvrnutiNiz(Tip pocetak, Tip iza_kraja) -> typename std::remove_reference<decltype(*pocetak)>::type*
- {
- auto tipic = *pocetak;
- Tip temp = pocetak;
- int duzina = 0;
- while(temp != iza_kraja) {
- temp++;
- duzina++;
- }
- decltype(tipic) *niz = new decltype(tipic)[duzina];
- auto iza_niza=niz;
- int i=0;
- while(i<duzina) {
- iza_niza++;
- i++;
- }
- i=1;
- while(pocetak != iza_kraja) {
- auto *temp2 = niz;
- while(temp2 != iza_niza - i) {
- temp2++;
- }
- *temp2 = *pocetak++;
- i++;
- }
- return niz;
- }
- int main ()
- {
- try {
- int n;
- cout<<"Koliko zelite elemenata: ";
- cin>>n;
- if(n>=2000000000) throw ("Nedovoljno memorije!");
- cout<<"Unesite elemente: ";
- std::vector<double> v(n);
- for(int i=0; i<n; i++) {
- double p;
- cin>>p;
- v.at(i)=p;
- }
- double *niz = KreirajIzvrnutiNiz(v.begin(), v.end());
- cout<<"Kreirani niz: ";
- for (int i=0; i<n; i++) {
- cout<<niz[i]<<" ";
- }
- delete [] niz;
- }catch(const char error[]) {
- cout<<error<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement