Advertisement
sellmmaahh

D.Alokacija-2011-prva parc-zad5-A

Jul 26th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. template <typename Tipel>
  7. Tipel** Grbava (Tipel niz[], int br_el)
  8. {
  9.     for (int i=0; i<br_el; i++) {
  10.         if (niz[i]<0)
  11.             throw "Broj elemenata niza mora biti pozitivan.";
  12.     }
  13. Tipel** pok=nullptr;
  14. try{ pok=new Tipel *[br_el];
  15. for (int i=0; i<br_el; i++) pok[i]=nullptr;
  16. for (int i=0; i<br_el; i++) {
  17.     pok[i]= new Tipel[niz[i]];
  18.     for (int j=0; j<niz[i]; j++)
  19.         pok[i][j]=Tipel ();
  20. }
  21. return pok;
  22. }
  23. catch(bad_alloc) {
  24. throw "Greska prilikom alokacije.";
  25. }
  26. }
  27. int main () {
  28. int niz[5]={3,5,2,-1,6};
  29.  
  30.     int **mat (nullptr);
  31.     try {mat=Grbava(niz,5);
  32.     for (int i=0; i<5; i++) {
  33.         for (int j=0; j<niz[i]; j++) cout<<mat[i][j];
  34.         cout<<endl;
  35.    }
  36.    if (!mat) {
  37.     for (int i=0; i<5; i++)
  38.         delete [] mat[i];
  39.         delete [] mat;
  40.            }
  41.     }
  42.            catch(const char poruka[]) {
  43.            cout<<"Greska: "<<poruka;
  44.            }
  45.            return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement