Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <new>
- #include <stdexcept>
- int **Grbava_matrica(int n)
- {
- if(n<=0) throw std::domain_error("Broj elemenata mora biti pozitivan");
- int **mat(new int*[n]);
- for(int i=0; i<n; i++)
- mat[i]=new int[2*i+1];
- for(int i=0; i<n; i++)
- {
- int k = 1;
- for (int j = 0; j < 2*i+1; j++)
- {
- if (j < (2*i+1)/2)
- mat[i][j] = k++;
- else
- mat[i][j] = k--;
- }
- }
- return mat;
- }
- int main()
- {
- int n;
- std::cout << "Unesi broj: " << std::endl;
- std::cin>>n;
- try {
- int **matrica(Grbava_matrica(n));
- for(int i=0; i<n; i++)
- {
- for(int j=0; j<2*i+1; j++)
- {
- std::cout<<matrica[i][j]<<" ";
- }
- std::cout<<std::endl;
- }
- for(int i=0; i<n; i++) delete[] matrica[i];
- delete[] matrica;
- }
- catch(std::domain_error greska)
- {
- std::cout << greska.what()<< std::endl;
- }
- catch(std::bad_alloc)
- {
- std::cout <<"Nema dovoljno memorije";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement