Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include<stdexcept>
- template <typename Tip>
- Tip **Funk (std::vector<std::vector<Tip>> vek)
- {
- Tip **niz=nullptr;
- int br_elem(0);
- for (int i=0; i<vek.size(); i++) br_elem+=vek[i].size();
- try
- {
- niz=new Tip *[vek.size()];
- niz[0]=new int[br_elem];
- for (int i=1; i<vek.size(); i++)
- {
- niz[i]=nullptr;
- }
- for (int i=1; i<vek.size(); i++)
- {
- niz[i]=niz[i-1]+vek[i-1].size();
- }
- for (int i=0; i<vek.size(); i++)
- {
- for (int j=0; j<vek[i].size(); j++) niz[i][j]=vek[i][j];
- }
- return niz;
- }
- catch(std::bad_alloc)
- {
- throw "Alokacija nije uspjela.";
- }
- }
- int main ()
- {
- std::cout<<"Unesite dimnezije matrice: ";
- int m, n;
- std::cin>>n>>m;
- int broj;
- std::vector<std::vector<int>> vek(n);
- std::cout<<"Unesite elemente matrice: ";
- for (int i=0; i<n; i++)
- {
- for (int j=0; j<m; j++)
- {
- std::cin>>broj;
- vek[i].push_back(broj);
- }
- }
- try
- {
- int **niz=Funk(vek);
- for (int i=0; i<n; i++)
- {
- for (int j=0; j<m; j++)
- std::cout<<niz[i][j]<<" ";
- std::cout<<std::endl;
- }
- if (niz!=nullptr)
- {
- delete [] niz[0] ;
- delete [] niz;
- }
- }
- catch (std::bad_alloc *e)
- {
- std::cout<<e;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement