Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <type_traits>
  5. #include <stdexcept>
  6. template<typename IterTip>
  7. auto KreirajIzvrnutiNiz(IterTip p,IterTip k)->typename std::remove_reference<decltype(*p)>::type*
  8. {
  9.     try {
  10.         typename std::remove_reference<decltype(*p)>::type l;
  11.         int vel=0;
  12.         IterTip poc=p;
  13.         while(poc!=k) {
  14.             vel++;
  15.             poc++;
  16.  
  17.         }
  18.         typename std::remove_reference<decltype(*p)>::type* niz=new typename std::remove_reference<decltype(*p)>::type[vel];
  19.         int brojac=1;
  20.  
  21.         while(k!=p) {
  22.             niz[vel-brojac]=*p;
  23.             brojac++;
  24.             p++;
  25.         }
  26.         return niz;
  27.     } catch(std::bad_alloc) {
  28.         throw std::bad_alloc();
  29.     }
  30.  
  31. }
  32. int main ()
  33. {
  34.     try {
  35.         std::vector<double> v ;
  36.         int n;
  37.         std::cout<<"Koliko zelite elemenata: ";
  38.         std::cin>>n;
  39.         v.resize(n);
  40.         std::cout<<"Unesite elemente: ";
  41.         for(int i=0; i<n; i++) {
  42.             double br;
  43.             std::cin>>br;
  44.             v.push_back(br);
  45.         }
  46.         double *p=KreirajIzvrnutiNiz(v.begin(),v.end());
  47.         std::cout<<"Kreirani niz: ";
  48.         for(int i = 0; i < n; i++) std::cout << p[i] << " ";
  49.         delete [] p;
  50.     } catch(...) {
  51.         std::cout<<"Nedovoljno memorije!";
  52.     }
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement