Print Pascal’s triangle of Nth row in C++

In this tutorial, we will learn how to print Pascal’s triangle in C++ with an algorithm.

Pascal’s triangle is a 2-D array (2-D triangular array) of binomial coefficients. It starts from 1 at the top, then each number placed below in the triangular pattern is the sum of the above two numbers.

Algorithm: Pascal’s triangle

  1. declares an initialize a variable ‘n’ for the number of rows.
  2. start an outer loop for ‘i’ to ‘n’.
  3. make an inner loop for ‘j’ to “n-1″, print a single space (” “) and close the loop.
  4. make another inner loop for ‘j’ to ‘i’
  5. print nCr or C(n, r) for each ‘i’ and ‘j’ and close the loop. (means iCj or C(i, j))
  6. change the line after each second inner loop (for every ‘i’ after the inner loop)

C++ program to print Pascal’s triangle

#include<iostream>
using namespace std;

int factorial(int);
int nCr(int, int);

int main(){
    int n, i, j;
 
    cout<<"Enter the number of rows: ";
    cin>>n;

    for(int i = 0;i < n; i++){

        //first inner loop to print spaces
        for(j = 0; j <= n-i; j++) 
            cout<<" ";

        //second inner loop to print combination for each i and j
        for(j = 0; j <= i; j++)   
            cout<<nCr(i, j)<<" ";

        cout<<endl;
    }

    return 0;
}

//to find combination or nCr
int nCr( int n, int r){
    return (factorial(n) / (factorial(n - r) * factorial(r)));
}

//to find factorial
int factorial(int n){
    int fact = 1;

    for(int i = 1; i <= n; i++)
        fact *= i;

    return fact;
}

Output:

Enter the number of rows: 5
      1
     1 1
    1 2 1
   1 3 3 1
  1 4 6 4 1

Time complexity: O(n^2)

you may also read: 

  1. How to Generate Fibonacci Triangle in C++
  2. How to multiply two matrices in C++

Leave a Reply

Your email address will not be published. Required fields are marked *