avukas

cetvrti sa sestog

Apr 27th, 2014
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <new>
  4. #include <stdexcept>
  5.  
  6. template<typename NekiTip>
  7.  
  8.   NekiTip **grbavamatrica(std::vector<std::vector<NekiTip>> matrica)
  9.  
  10.   {
  11.  
  12.       try
  13.       {
  14.           NekiTip **alocmatrica(new NekiTip *[matrica.size()]);
  15.  
  16.           for (int i(0); i<matrica.size(); i++)
  17.            alocmatrica[i]=nullptr;
  18.           try
  19.           {
  20.               for (int i(0); i<matrica.size(); i++)
  21.  
  22.             alocmatrica[i]=new int[matrica[i].size()];
  23.  
  24.             for (int i(0); i<matrica.size(); i++)
  25.             {
  26.                 for (int j(0); j<matrica[i].size(); j++)
  27.                 {
  28.                     alocmatrica[i][j]=matrica[i][j];                }
  29.             }
  30.  
  31.       }
  32.       catch(std::bad_alloc)
  33.       {
  34.           for (int i(0); i<matrica.size(); i++)
  35.           {
  36.               delete [] alocmatrica[i];
  37.  
  38.           }
  39.           throw;
  40.       }
  41.       return alocmatrica;
  42.       }
  43.       catch(std::bad_alloc)
  44.       {
  45.           throw;
  46.       }
  47.  
  48.  
  49.  
  50.   }
  51.  
  52.  
  53. int main()
  54. {
  55.     try
  56.     {
  57.  
  58.  
  59.    std::vector<std::vector<int>> matrica{{1,2,5,5},{1,3,5,5,3,2,1}, {5,6,3}};
  60.  
  61.     int **matrica1=grbavamatrica(matrica);
  62.  
  63.    for (int i(0); i<matrica.size(); i++)
  64.    {
  65.        for (int j(0); j<matrica[i].size(); j++)
  66.        {
  67.           std::cout<<matrica1[i][j];
  68.        }
  69.        std::cout<<std::endl;
  70.    }
  71.  
  72.     }
  73.     catch(...)
  74.     {
  75.     std::cout<<"Alokacija nije uspjela. \n";
  76.     }
  77.    return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment