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