Advertisement
sellmmaahh

tut6-zad3

Jul 23rd, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include<stdexcept>
  5.  
  6.  
  7. int **Funk (int n) {
  8.     int **niz=nullptr;
  9. try {
  10.     if (n<=0) throw std::domain_error ("N mora biti pozitivno! ") ;
  11.     niz=new int* [n];
  12.  
  13.  
  14.     for (int i=1; i<n; i++) niz[i]=nullptr;
  15.  
  16.       for (int i=0; i<n; i++)
  17.         {
  18.             niz[i]=new int[2*i+1];
  19.  
  20.         }
  21.         for (int i=0; i<n; i++) {
  22.             for (int j=0; j<i+1; j++)
  23.                 niz[i][j]=niz[i][2*i-j]=j+1;
  24.         }
  25.     return niz;
  26. }
  27. catch (std::bad_alloc) {
  28.     if (niz!=nullptr) {
  29.             for(int i=0; i<n; i++) delete [] niz[i];
  30.     delete [] niz;
  31.     }
  32. throw "Alokacija nije uspjela.";}
  33. }
  34.  
  35. int main() {
  36.  
  37.     std::cout<<"Unesite n: ";
  38.     int n;
  39.     std::cin>>n;
  40.     try {
  41.     int **niz=Funk(n);
  42.     for (int i=0; i<n; i++) {
  43.         for (int j=0; j<2*i+1; j++)
  44.             std::cout<<niz[i][j]<<" ";
  45.         std::cout<<std::endl;
  46.     }
  47.     }
  48.  
  49.  
  50.  
  51.     catch(std::domain_error *e) {
  52.     std::cout<<"greska: "<<e;
  53.     }
  54.     catch(std::bad_alloc *s) {
  55.     std::cout<<"greska: "<<s;
  56.     }
  57.     return 0;
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement