Advertisement
naskedvi

T6 - zad.3.

Apr 8th, 2014
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <iostream>
  2. #include <new>
  3. #include <stdexcept>
  4.  
  5. int **Grbava_matrica(int n)
  6. {
  7. if(n<=0) throw std::domain_error("Broj elemenata mora biti pozitivan");
  8. int **mat(new int*[n]);
  9. for(int i=0; i<n; i++)
  10. mat[i]=new int[2*i+1];
  11.  
  12. for(int i=0; i<n; i++)
  13. {
  14. int k = 1;
  15. for (int j = 0; j < 2*i+1; j++)
  16. {
  17. if (j < (2*i+1)/2)
  18. mat[i][j] = k++;
  19. else
  20. mat[i][j] = k--;
  21. }
  22.  
  23. }
  24. return mat;
  25. }
  26.  
  27.  
  28. int main()
  29. {
  30. int n;
  31. std::cout << "Unesi broj: " << std::endl;
  32. std::cin>>n;
  33. try {
  34. int **matrica(Grbava_matrica(n));
  35.  
  36. for(int i=0; i<n; i++)
  37. {
  38. for(int j=0; j<2*i+1; j++)
  39. {
  40. std::cout<<matrica[i][j]<<" ";
  41. }
  42. std::cout<<std::endl;
  43. }
  44.  
  45. for(int i=0; i<n; i++) delete[] matrica[i];
  46. delete[] matrica;
  47. }
  48.  
  49. catch(std::domain_error greska)
  50. {
  51. std::cout << greska.what()<< std::endl;
  52. }
  53.  
  54. catch(std::bad_alloc)
  55. {
  56. std::cout <<"Nema dovoljno memorije";
  57. }
  58.  
  59.  
  60. return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement