Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdexcept>
- #include <new>
- int **KreirajTrougao(int n){
- if(n <= 0) throw std::domain_error("Broj redova mora biti pozitivan");
- int **niz = nullptr;
- try{
- niz = new int* [n];
- for(int i = 0; i < n; i++) niz[i] = nullptr;
- try{
- niz[0] = new int [n*n];
- for(int i = 1, j = 0; i < n; i++, j++)
- niz[i] = niz[i-1] + i + j;
- for(int i = 0, z = 1; i < n; i++, z++){
- for(int j = 0, k = -i - 1; j < i+z; j++, k++){
- if(!k) k+=2;
- niz[i][j] = abs(k);
- }
- }
- }
- catch(...){
- delete[] niz;
- throw;
- }
- }
- catch(...){
- throw;
- }
- return niz;
- }
- int main (){
- std::cout << "Koliko zelite redova: ";
- int n;
- std::cin >> n;
- int **niz(nullptr);
- try{
- niz = KreirajTrougao(n);
- if(!niz) return 0;
- for(int i = 0, z = 1; i < n; i++, z++){
- for(int j = 0; j < i+z; j++)
- std::cout << niz[i][j] << " ";
- std::cout << std::endl;
- }
- delete[] niz[0];
- delete[] niz;
- }
- catch(std::domain_error x){
- std::cout << "Izuzetak: " << x.what();
- }
- catch(std::bad_alloc){
- std::cout << "Izuzetak: Nedovoljno memorije!";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement