C++ Programs To Create Pyramid and Pattern

To understand this example, you should have the knowledge of the following C++ programming topics:


List of Source Code
Print triangle using *, digits and characters
Print inverted triangle using * and digit
Code to Print pyramid
Code to Print reverse pyramid
Code to Print Pascal's traingle
Code to Print Floyd's triangle

Programs to Print Triangles Using *, Numbers, and Characters


Example 1: Program to Print a Half-Pyramid Using *

*
* *
* * *
* * * *
* * * * *

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = 1; i <= rows; ++i) {
        for(int j = 1; j <= i; ++j) {
            cout << "* ";
        }
        cout << "\n";
    }
    return 0;
}

Example 2: Program to Print a Half-Pyramid Using Numbers

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = 1; i <= rows; ++i) {
        for(int j = 1; j <= i; ++j) {
            cout << j << " ";
        }
        cout << "\n";
    }
    return 0;
}

Example 3: Program to Print Half-Pyramid Using Alphabets

A
B B
C C C
D D D D
E E E E E

Source Code

#include <iostream>
using namespace std;

int main() {

    char input, alphabet = 'A';

    cout << "Enter the uppercase character you want to print in the last row: ";
    cin >> input;

    // convert input character to uppercase
    input = toupper(input);

    for(int i = 1; i <= (input-'A'+1); ++i) {
        for(int j = 1; j <= i; ++j) {
            cout << alphabet << " ";
        }
        ++alphabet;

        cout << endl;
    }
    return 0;
}

Programs to Print an Inverted Half-Pyramid Using * and Numbers


Example 4: Inverted Half-Pyramid Using *

* * * * *
* * * *
* * * 
* *
*

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = rows; i >= 1; --i) {
        for(int j = 1; j <= i; ++j) {
            cout << "* ";
        }
        cout << endl;
    }
    
    return 0;
}

Example 5: Inverted Half-Pyramid Using Numbers

1 2 3 4 5
1 2 3 4 
1 2 3
1 2
1

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = rows; i >= 1; --i)
    {
        for(int j = 1; j <= i; ++j)
        {
            cout << j << " ";
        }
        cout << endl;
    }

    return 0;
}

Programs to Display Pyramids and Inverted Pyramids Using * and Digits


Example 6: Program to Print a Full Pyramid Using *

        *
      * * *
    * * * * *
  * * * * * * *
* * * * * * * * *

Source Code

#include <iostream>
using namespace std;

int main() {

    int space, rows;

    cout <<"Enter number of rows: ";
    cin >> rows;

    for(int i = 1, k = 0; i <= rows; ++i, k = 0) {
        for(space = 1; space <= rows-i; ++space) {
            cout <<"  ";
        }

        while(k != 2*i-1) {
            cout << "* ";
            ++k;
        }
        cout << endl;
    }    
    return 0;
}

Example 7: Program to Print a Pyramid Using Numbers

        1
      2 3 2
    3 4 5 4 3
  4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows, count = 0, count1 = 0, k = 0;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = 1; i <= rows; ++i) {
        for(int space = 1; space <= rows-i; ++space) {
            cout << "  ";
            ++count;
        }

        while(k != 2*i-1) {
            if (count <= rows-1) {
                cout << i+k << " ";
                ++count;
            }
            else {
                ++count1;
                cout << i+k-2*count1 << " ";
            }
            ++k;
        }
        count1 = count = k = 0;

        cout << endl;
    }
    return 0;
}

Example 8: Inverted Full Pyramid Using *

* * * * * * * * *
  * * * * * * *
    * * * * *
      * * *
        *

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = rows; i >= 1; --i) {
        for(int space = 0; space < rows-i; ++space)
            cout << "  ";

        for(int j = i; j <= 2*i-1; ++j)
            cout << "* ";

        for(int j = 0; j < i-1; ++j)
            cout << "* ";

        cout << endl;
    }

    return 0;
}

Example 9: Print Pascal's Triangle

           1
         1   1
       1   2   1
     1   3   3    1
   1  4    6   4   1
 1  5   10   10  5   1 

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows, coef = 1;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = 0; i < rows; i++) {
        for(int space = 1; space <= rows-i; space++)
            cout <<"  ";

        for(int j = 0; j <= i; j++) {
            if (j == 0 || i == 0)
                coef = 1;
            else
                coef = coef*(i-j+1)/j;

            cout << coef << "   ";
        }
        cout << endl;
    }

    return 0;
}

Example 10: Print Floyd's Triangle.

1
2 3
4 5 6
7 8 9 10

Source Code

#include <iostream>
using namespace std;

int main() {

    int rows, number = 1;

    cout << "Enter number of rows: ";
    cin >> rows;

    for(int i = 1; i <= rows; i++) {
        for(int j = 1; j <= i; ++j) {
            cout << number << " ";
            ++number;
        }

        cout << endl;
    }

    return 0;
}
Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community