Advertisement
Guest User

Untitled

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