Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <new>
- template <typename tip>
- tip **dinamicka_matrica(std::vector<std::vector<tip>> m)
- {
- try
- {
- tip **a=new int *[m.size()];
- for(int i=0; i<m.size(); i++)
- {
- a[i]=new int [m[i].size()];
- for(int j=0; j<m[i].size(); j++)
- {
- a[i][j]=m[i][j];
- }
- }
- return a;
- }
- catch(std::bad_alloc)
- {
- throw "Greska, alokacija nije uspjela.";
- }
- }
- int main()
- {
- std::vector<std::vector<int>> matrica;
- int redovi;
- std::cout<<"Unesite broj redova matrice: ";
- std::cin>>redovi;
- matrica.resize(redovi);
- int broj;
- int kolone;
- for(int i=0; i<redovi; i++)
- {
- std::cout<<"Unesite broj kolona "<<i+1<<". reda: ";
- std::cin>>kolone;
- for(int j=0; j<kolone; j++)
- {
- std::cin>>broj;
- matrica[i].push_back(broj);
- }
- }
- std::cout<<std::endl;
- try
- {
- auto a=dinamicka_matrica(matrica);
- for(int i=0; i<redovi; i++)
- {
- for(int j=0; j<matrica[i].size(); j++)
- {
- std::cout<<a[i][j]<<" ";
- }
- std::cout<<std::endl;
- }
- for(int i=0;i<redovi;i++) delete[] a[i];//brise alocirana mjesta na koja pokazuju alocirani pokazivaci
- delete[] a;//brise alocirane pokazivace
- }
- catch(const char p[])
- {
- std::cout<<p;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement