Programs for printing pyramid patterns in C++

12 Jun, 2022
This article is aimed at giving a C++ implementation for pattern printing. 
Simple pyramid pattern
CPP
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart(int n){    // Outer loop to handle number of rows    // n in this case    for (int i = 0; i < n; i++) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j <= i; j++) {             // Printing stars            cout << "* ";        }         // Ending line after each row        cout << endl;    }} // Driver Functionint main(){    int n = 5;    pypart(n);    return 0;}
* 
* * 
* * * 
* * * * 
* * * * * 

Printing above pattern using while Loop 
CPP
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart(int n){    // Outer loop to handle number of rows    // n in this case    int i = 0, j = 0;    while (i < n) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        while (j <= i) {             // Printing stars            cout << "* ";            j++;        }        j = 0; // we have to reset j value so as it can               // start from beginning and print * equal to i.        i++;        // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;    pypart(n);    return 0;}
* 
* * 
* * * 
* * * * 
* * * * * 

After 180 degree rotation
CPP
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Driver Codeint main(){    int n = 5;       //looping rows    for(int i=n; i>0; i--)    {      for(int j=0; j<=n; j++) //looping columns      {        if (j>=i)        {          cout<<"*";        }        else        {          cout<<" ";        }      }      cout<<endl;    }    return 0;}
     *
    **
   ***
  ****
 *****

 
Printing above pattern using while loop 
CPP
// C++ code to demonstrate pattern printing#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart2(int n){    int i = 0, j = 0, k = 0;    while (i < n) {                 // for number of spaces        while (k < (n - i - 1)) {            cout << "  ";            k++;        }           // resetting k because we want to run k from        // beginning.        k = 0;        while (j <= i) {            cout << "* ";            j++;        }                 // resetting k so as it can start from 0.        j = 0;        i++;        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    pypart2(n);    return 0;}
        * 
      * * 
    * * * 
  * * * * 
* * * * * 

 Inverted Pyramid Pattern
C++
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart(int n){    // Outer loop to handle number of rows    // n in this case    for (int i = n; i > 0; i--) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j < i; j++) {             // Printing stars            cout << "* ";        }         // Ending line after each row        cout << endl;    }} // Driver Functionint main(){    int n = 5;    pypart(n);    return 0;}
* * * * * 
* * * * 
* * * 
* * 
* 

Printing above pattern using while loop
C++
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart(int n){    // Outer loop to handle number of rows    // n in this case    int i = n, j = 0;    while (i > 0) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        while (j < i) {             // Printing stars            cout << "* ";            j++;        }        j = 0; // we have to reset j value so as it can               // start from beginning and print * equal to i.        i--;        // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;    pypart(n);    return 0;}
* * * * * 
* * * * 
* * * 
* * 
* 

Method#2: Printing above pattern using recursion
C++
// C++ code to print  Inverted Pyramid Pattern using recursion#include <bits/stdc++.h>using namespace std;  void pypart(int n){    if(n==0){        return;    }    for(int i =1;i<=n;i++){        cout<<"* ";    }    cout<<endl;    pypart(n-1);     }  // driver functionint main(){    int n = 5;    pypart(n);    return 0;}//This code is contribured by Shivesh Kumar Dwivedi
* * * * * 
* * * * 
* * * 
* * 
* 

After 180 degree rotation
C++
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart2(int n){    // number of spaces    int k = 2 * n - 2;     // Outer loop to handle number of rows    // n in this case    for (int i = n; i > 0; i--) {         // Inner loop to handle number spaces        // values changing acc. to requirement        for (int j = 0; j < n-i; j++)            cout << "  ";         // Decrementing k after each loop        k = k - 2;         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j < i; j++) {            // Printing stars            cout << "* ";        }         // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    pypart2(n);    return 0;}
* * * * * 
  * * * * 
    * * * 
      * * 
        * 

Printing above pattern using while loop
C++
// C++ code to demonstrate pattern printing#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart2(int n){    int i = n, j = 0, k = 0;    while (i > 0) {                 // for number of spaces        while (k < (n - i)) {            cout << "  ";            k++;        }           // resetting k because we want to run k from        // beginning.        k = 0;        while (j < i) {            cout << "* ";            j++;        }                 // resetting k so as it can start from 0.        j = 0;        i--;        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    pypart2(n);    return 0;}
* * * * * 
  * * * * 
    * * * 
      * * 
        * 

Printing Triangle
Method 1
Method 2
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid triangle(int n){    // number of spaces    int k = 2 * n - 2;     // Outer loop to handle number of rows    // n in this case    for (int i = 0; i < n; i++) {         // Inner loop to handle number spaces        // values changing acc. to requirement        for (int j = 0; j < k; j++)            cout << " ";         // Decrementing k after each loop        k = k - 1;         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j <= i; j++) {            // Printing stars            cout << "* ";        }         // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    triangle(n);    return 0;}
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart2(int n){    // Number of spaces    int i, j, k = n;     // Outer loop to handle number of rows    // n in this case    for (i = 1; i <= n; i++) {         // Inner loop for columns        for (j = 1; j <= n; j++) {             // Condition to print star pattern            if (j >= k)                cout << "* ";            else                cout << "  ";        }        k--;        cout << "\n";    }} // Driver Codeint main(){    int n = 5;      // Function Call    pypart2(n);    return 0;}
        * 
       * * 
      * * * 
     * * * * 
    * * * * * 

 
Method 3
// C++ code to demonstrate star pattern#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart2(int n){    int i = 0, j = 0, k = 0;    while (i < n) {               // for spacing        while (k <= n - i - 2) {            cout << " ";            k++;        }        k = 0;                 // For Pattern printing        while (j < 2 * i - 1) {            cout << "*";            j++;        }        j = 0;        i++;        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    pypart2(n);    return 0;}
    
   *
  ***
 *****
*******

Number Pattern
CPP
// C++ code to demonstrate printing// pattern of numbers#include <iostream>using namespace std; // Function to demonstrate printing// patternvoid numpat(int n){    // initializing starting number    int num = 1;     // Outer loop to handle number of rows    // n in this case    for (int i = 0; i < n; i++) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j <= i; j++)            cout << num << " ";         // Incrementing number at each column        num = num + 1;         // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;     // Function Call    numpat(n);    return 0;}
1 
2 2 
3 3 3 
4 4 4 4 
5 5 5 5 5 

Above Pattern Using while loop  
CPP
// C++ Code for pattern Printing#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart(int n){    int i = 1, j = 0;    while (i <= n) {        while (j <= i - 1) {            cout << i << " ";            j++;        }        j = 0;        i++;        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    pypart(n);    return 0;}
1 
2 2 
3 3 3 
4 4 4 4 
5 5 5 5 5 

 
Numbers without reassigning
CPP
// C++ code to demonstrate  printing pattern of numbers#include <iostream>using namespace std; // Function to demonstrate printing patternvoid numpat(int n){    // Initialising starting number    int num = 1;     // Outer loop to handle number of rows    // n in this case    for (int i = 0; i < n; i++) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j <= i; j++) {             // Printing number            cout << num << " ";             // Incrementing number at each column            num = num + 1;        }         // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;     // Function Call    numpat(n);    return 0;}
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 

Above pattern using while loop
CPP
// C++ code to demonstrate  printing pattern of numbers#include <iostream>using namespace std; // Function to demonstrate printing patternvoid pypart(int n){    int i = 1, j = 0;     // here we declare an num variable which is    // assigned value 1    int num = 1;    while (i <= n) {        while (j <= i - 1) {             // Printing numbers            cout << num << " ";                       // here we are increasing num for every            // iteration.            num++;            j++;        }        j = 0;        i++;               // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    pypart(n);    return 0;}
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 

C++
#include <iostream>using namespace std; int main(){    int rows = 5, count = 0, count1 = 0, k = 0;      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;            }                         ++k;        }        count1 = count = k = 0;         cout << endl;    }    return 0;} //code by Kashif RB
        1 
      2 3 
    3 4 5 
  4 5 6 7 
5 6 7 8 9 

C++
#include <iostream>using namespace std; int main(){    int rows=5, count = 0, count1 = 0, k = 0;      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;} // code by Kashif Rb
        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 

Character Pattern
CPP
// C++ code to demonstrate printing pattern of alphabets#include <iostream>using namespace std; // Function to demonstrate printing patternvoid alphabet(int n){    // Initializing value corresponding to 'A'    // ASCII value    int num = 65;     // Outer loop to handle number of rows    // n in this case    for (int i = 0; i < n; i++) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j <= i; j++) {             // Explicitly converting to char            char ch = char(num);             // Printing char value            cout << ch << " ";        }         // Incrementing number        num = num + 1;         // Ending line after each row        cout << endl;    }} // Driver Functionint main(){    int n = 5;    alphabet(n);    return 0;}
A 
B B 
C C C 
D D D D 
E E E E E 

 
Above pattern using while loop
CPP
// C++ code to demonstrate printing pattern of alphabets#include <iostream>using namespace std; // Function to demonstrate printing patternvoid alphabet(int n){    int i = 1, j = 0;     // assigning ASCII value of A which is 65    int num = 65;     // converting ASCII value to character,    // now our alpha variable is having    // value A after typecasting.    char alpha = char(num);    while (i <= n) {         // alpha is having A value and it        // will change as soon as alpha        // increased or decreased.        while (j <= i - 1) {            cout << alpha << " ";            j++;        }         // incrementing alpha value so as it can        // point to next character        alpha++;         // we have to reset j value so as it can        // start from beginning and print * equal to        // i.        j = 0;        i++;               // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    alphabet(n);    return 0;}
A 
B B 
C C C 
D D D D 
E E E E E 

 
Continuous Character pattern
CPP
// C++ code to demonstrate printing pattern of alphabets#include <iostream>using namespace std; // Function to demonstrate printing patternvoid contalpha(int n){    // Initializing value corresponding to 'A'    // ASCII value    int num = 65;     // Outer loop to handle number of rows    // n in this case    for (int i = 0; i < n; i++) {         // Inner loop to handle number of columns        // values changing acc. to outer loop        for (int j = 0; j <= i; j++) {             // Explicitly converting to char            char ch = char(num);             // Printing char value            cout << ch << " ";             // Incrementing number at each column            num = num + 1;        }         // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;         // Function Call    contalpha(n);    return 0;}
A 
B C 
D E F 
G H I J 
K L M N O 

Above pattern using while loop
CPP
// C++ code to demonstrate printing pattern of alphabets#include <iostream>using namespace std; // Function to demonstrate printing patternvoid contalpha(int n){    int i = 1, j = 0;    int num = 65;    char alpha = char(num);    while (i <= n) {        while (j <= i - 1) {            cout << alpha << " ";                       // incrementing alpha value in every            // iteration so as it can assign to            // next character            alpha++;            j++;        }        j = 0;        i++;               // Ending line after each row        cout << endl;    }} // Driver Codeint main(){    int n = 5;             // Function Call    contalpha(n);    return 0;}
A 
B C 
D E F 
G H I J 
K L M N O 

Printing patterns in python language are discussed in the article below :Programs for printing pyramid patterns in PythonThis article is contributed by Manjeet Singh(S.Nandini). If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
prathvirsingh18
gauravdalvi2012
deysoumavo65
dhruvrohilla
saurabh1990aror
ruhelaa48
adnanirshad158
arorakashish0911
muhammadkashifbhatti70
cpdwivedi916
pattern-printing
C++
School Programming
pattern-printing
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.