How to calculate and print the Pascal triangle in C++

3 Answers

0 votes
#include <iostream>
 
// Each number in Pascal's triangle is the sum of the two numbers directly above it 
 
 
void PascalTriangle(int rows) {
    for (int i = 0; i < rows; i++) {
        int number = 1;
  
        for (int j = 1; j < (rows - i); j++)
            std::cout << "   ";
  
        for (int k = 0; k <= i; k++) {
            std::cout << "    " << number;
            number = number * (i - k) / (k + 1);
        }
        std::cout << std::endl << std::endl;
    }
}
 
int main()
{
    PascalTriangle(7);
}
  
  
  
  
/*
run:
  
                      1

                   1    1

                1    2    1

             1    3    3    1

          1    4    6    4    1

       1    5    10    10    5    1

    1    6    15    20    15    6    1
  
*/

 



answered Jun 7, 2017 by avibootz
edited Sep 9, 2023 by avibootz
0 votes
#include <iostream>
#include <iomanip>

// Each number in Pascal's triangle is the sum of the two numbers directly above it 


void PascalTriangle(int rows) {
   int number = 1;
 
    for (int i = 0; i < rows; i++) {
        for (int space = 1; space <= rows - i; space++)
            std::cout << "  ";
        for (int j = 0; j <= i; j++) {
            if (j == 0 || i == 0)
                number = 1;
            else
                number = number * (i - j + 1) / j;
             
            if (i == 0 && j == 0) std::cout << "  ";
 
            std::cout << number << std::setw(4);
        }
        std::cout << std::endl;
    }
}

int main()
{
    PascalTriangle(7);
}
 
 
 
 
/*
run:
 
                1
              1   1
            1   2   1
          1   3   3   1
        1   4   6   4   1
      1   5  10  10   5   1
    1   6  15  20  15   6   1
 
*/



 



answered Jun 7, 2017 by avibootz
edited Sep 9, 2023 by avibootz
0 votes
#include <iostream>

// Each number in Pascal's triangle is the sum of the two numbers directly above it 


void PascalTriangle(int rows) {
    for (int i = 0; i < rows; i++) {
        for (int space = 1; space < rows - i; space++) {
            std::cout << "  ";
        }
 
        int result = 1;
        for (int j = 0; j <= i; j++) {
            if (j == 0 || i == 0) {
                result = 1;
            }
            else {
                result = result * (i - j + 1) / j;
            }
 
            if (result < 10) {
                std::cout << result << "   ";
            } else {
                std::cout << result << "  ";
            }
        }
 
        std::cout << std::endl;
    }
}

int main()
{
    PascalTriangle(7);
}
 
 
 
 
/*
run:
 
            1   
          1   1   
        1   2   1   
      1   3   3   1   
    1   4   6   4   1   
  1   5   10  10  5   1   
1   6   15  20  15  6   1   
 
*/



 



answered Sep 9, 2023 by avibootz

Related questions

3 answers 268 views
1 answer 124 views
2 answers 153 views
1 answer 131 views
1 answer 143 views
1 answer 974 views
1 answer 219 views
...