Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <iomanip>
- #include <stdexcept>
- typedef std::vector<std::vector<int>>Matrica ;
- int NajvecaSirina(Matrica m){
- //brojimo cifre u zadnjem redu, jer je tu sig najveca!
- int brojac(0),n(0),max(0);
- int broj_redova(m.size());
- for(int i=broj_redova-1; i<broj_redova; i++){
- for(int j=0; j<broj_redova; j++){
- n=m[i][j];
- while(n!=0){
- n = n/10;
- brojac++;
- }
- if(brojac>max) max=brojac;
- }
- }
- return max;
- }
- Matrica PascalovTrougao(int x){
- if(x<0) throw std::domain_error ("Broj redova ne smije biti negativan");
- Matrica a(x,std::vector<int>(x));
- for(int i=0; i<x; i++){
- a[i].resize(i+1);
- }
- for(int i=0; i<x; i++){
- for(int j=0; j<x; j++){
- if(i==0 || j==0 || (i==1 && j==1)){
- a[i][j] = 1;
- }else
- a[i][j]=a[i-1][j]+a[i-1][j-1];
- }
- }
- return a;
- }
- int main (){
- int n;
- Matrica m;
- std::cout<<"Unesite broj redova: ";
- std::cin>>n;
- m = PascalovTrougao(n);
- int sirina;
- sirina = NajvecaSirina(m);
- for(int i=0; i<n; i++){
- std::cout<<std::endl;
- for(int j=0; j<m[i].size(); j++){
- std::cout<<std::setw(sirina + 1)<<std::right<<m[i][j];
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement