Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- bool TestirajIspravnost(int niz[], int duzina)
- {
- for (int i(0); i < duzina; i++)
- if (niz[i] < 0)
- return false;
- return true;
- }
- template <typename T>
- T **Alociraj(int niz[], int duzina)
- {
- if (!TestirajIspravnost(niz, duzina)) throw std::domain_error("Greska");
- T **p = new T*[duzina];
- for (int i(0); i < duzina; i++)
- p[i] = nullptr;
- try
- {
- for (int i(0); i < duzina; i++)
- p[i] = new T[niz[i]];
- for (int i(0); i < duzina; i++)
- for (int j(0); j < niz[i]; j++)
- p[i][j] = T();
- }
- catch (std::bad_alloc)
- {
- for (int i(0); i < duzina; i++)
- delete[] p[i];
- delete[] p;
- throw;
- }
- return p;
- }
- int main()
- {
- int niz[5] {3, 5, 2, 8, 6 };
- int **p = Alociraj<int>(niz, 5);
- for (int i(0); i < 5; i++)
- {
- for (int j(0); j < niz[i]; j++)
- std::cout << p[i][j] << " ";
- std::cout << std::endl;
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement