Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <type_traits>
- #include <stdexcept>
- template<typename IterTip>
- auto KreirajIzvrnutiNiz(IterTip p,IterTip k)->typename std::remove_reference<decltype(*p)>::type*
- {
- try {
- typename std::remove_reference<decltype(*p)>::type l;
- int vel=0;
- IterTip poc=p;
- while(poc!=k) {
- vel++;
- poc++;
- }
- typename std::remove_reference<decltype(*p)>::type* niz=new typename std::remove_reference<decltype(*p)>::type[vel];
- int brojac=1;
- while(k!=p) {
- niz[vel-brojac]=*p;
- brojac++;
- p++;
- }
- return niz;
- } catch(std::bad_alloc) {
- throw std::bad_alloc();
- }
- }
- int main ()
- {
- try {
- std::vector<double> v ;
- int n;
- std::cout<<"Koliko zelite elemenata: ";
- std::cin>>n;
- v.resize(n);
- std::cout<<"Unesite elemente: ";
- for(int i=0; i<n; i++) {
- double br;
- std::cin>>br;
- v.push_back(br);
- }
- double *p=KreirajIzvrnutiNiz(v.begin(),v.end());
- std::cout<<"Kreirani niz: ";
- for(int i = 0; i < n; i++) std::cout << p[i] << " ";
- delete [] p;
- } catch(...) {
- std::cout<<"Nedovoljno memorije!";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement