Advertisement
naskedvi

T6 - zad.4.

Apr 20th, 2014
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <new>
  4.  
  5. template <typename tip>
  6. tip **dinamicka_matrica(std::vector<std::vector<tip>> m)
  7. {
  8. try
  9. {
  10. tip **a=new int *[m.size()];
  11. for(int i=0; i<m.size(); i++)
  12. {
  13. a[i]=new int [m[i].size()];
  14. for(int j=0; j<m[i].size(); j++)
  15. {
  16. a[i][j]=m[i][j];
  17. }
  18. }
  19. return a;
  20. }
  21. catch(std::bad_alloc)
  22. {
  23. throw "Greska, alokacija nije uspjela.";
  24. }
  25. }
  26. int main()
  27. {
  28. std::vector<std::vector<int>> matrica;
  29. int redovi;
  30. std::cout<<"Unesite broj redova matrice: ";
  31. std::cin>>redovi;
  32. matrica.resize(redovi);
  33. int broj;
  34. int kolone;
  35. for(int i=0; i<redovi; i++)
  36. {
  37. std::cout<<"Unesite broj kolona "<<i+1<<". reda: ";
  38. std::cin>>kolone;
  39. for(int j=0; j<kolone; j++)
  40. {
  41. std::cin>>broj;
  42. matrica[i].push_back(broj);
  43. }
  44.  
  45. }
  46. std::cout<<std::endl;
  47. try
  48. {
  49. auto a=dinamicka_matrica(matrica);
  50. for(int i=0; i<redovi; i++)
  51. {
  52. for(int j=0; j<matrica[i].size(); j++)
  53. {
  54. std::cout<<a[i][j]<<" ";
  55. }
  56. std::cout<<std::endl;
  57.  
  58. }
  59. for(int i=0;i<redovi;i++) delete[] a[i];//brise alocirana mjesta na koja pokazuju alocirani pokazivaci
  60. delete[] a;//brise alocirane pokazivace
  61. }
  62. catch(const char p[])
  63. {
  64. std::cout<<p;
  65. }
  66.  
  67. return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement