Skip to content
Related Articles

Related Articles

Improve Article

Programs for printing pyramid patterns in C++

  • Difficulty Level : Easy
  • Last Updated : 20 Jul, 2021

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 pattern
void 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 Function
int main()
{
    int n = 5;
    pypart(n);
    return 0;
}
Output
* 
* * 
* * * 
* * * * 
* * * * * 

Printing above pattern using while Loop
 

CPP




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 begining and print * equal to i.
        i++;
        // Ending line after each row
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    int n = 5;
    pypart(n);
    return 0;
}
Output



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

After 180 degree rotation

CPP




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Driver Code
int 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;
}
Output
        * 
      * * 
    * * * 
  * * * * 
* * * * * 

 

Printing above pattern using while loop
 

CPP




// C++ code to demonstrate pattern printing
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Code
int main()
{
    int n = 5;
   
      // Function Call
    pypart2(n);
    return 0;
}
Output
        * 
      * * 
    * * * 
  * * * * 
* * * * * 

 Inverted Pyramid Pattern

C++




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Function
int main()
{
    int n = 5;
    pypart(n);
    return 0;
}
Output
* * * * * 
* * * * 
* * * 
* * 
* 

Printing above pattern using while loop



C++




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 begining and print * equal to i.
        i--;
        // Ending line after each row
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    int n = 5;
    pypart(n);
    return 0;
}
Output
* * * * * 
* * * * 
* * * 
* * 
* 

After 180 degree rotation

C++




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Code
int main()
{
    int n = 5;
   
      // Function Call
    pypart2(n);
    return 0;
}
Output
* * * * * 
  * * * * 
    * * * 
      * * 
        * 

Printing above pattern using while loop

C++




// C++ code to demonstrate pattern printing
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Code
int main()
{
    int n = 5;
   
      // Function Call
    pypart2(n);
    return 0;
}
Output
* * * * * 
  * * * * 
    * * * 
      * * 
        * 

Printing Triangle

Method 1




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Code
int main()
{
    int n = 5;
   
      // Function Call
    triangle(n);
    return 0;
}

Method 2




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Code
int main()
{
    int n = 5;
      // Function Call
    pypart2(n);
    return 0;
}
Output
        * 
       * * 
      * * * 
     * * * * 
    * * * * * 

 

Method 3




// C++ code to demonstrate star pattern
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void 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 Patter printing
        while (j < 2 * i - 1) {
            cout << "*";
            j++;
        }
        j = 0;
        i++;
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    int n = 5;
   
      // Function Call
    pypart2(n);
    return 0;
}
Output
    
   *
  ***
 *****
*******

Number Pattern



CPP




// C++ code to demonstrate printing
// pattern of numbers
#include <iostream>
using namespace std;
 
// Function to demonstrate printing
// pattern
void 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 Code
int main()
{
    int n = 5;
 
    // Function Call
    numpat(n);
    return 0;
}
Output
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 pattern
void pypart(int n)
{
    int i = 1, j = 0;
    while (i <= n) {
        while (j <= i - 1) {
            cout << i << " ";
            j++;
        }
        j = 0;
        i++;
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    int n = 5;
   
      // Function Call
    pypart(n);
    return 0;
}
Output
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 pattern
void 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 Code
int main()
{
    int n = 5;
 
    // Function Call
    numpat(n);
    return 0;
}
Output
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 pattern
void 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 Code
int main()
{
    int n = 5;
   
      // Function Call
    pypart(n);
    return 0;
}
Output
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 

Character Pattern

CPP




// C++ code to demonstrate printing pattern of alphabets
#include <iostream>
using namespace std;
 
// Function to demonstrate printing pattern
void alphapat(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 Function
int main()
{
    int n = 5;
    alphapat(n);
    return 0;
}
Output



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 pattern
void alphapat(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 Code
int main()
{
    int n = 5;
   
      // Function Call
    alphapat(n);
    return 0;
}
Output
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 pattern
void 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++) {
 
            // Explicitely 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 Code
int main()
{
    int n = 5;
   
      // Function Call
    contalpha(n);
    return 0;
}
Output
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 pattern
void 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 Code
int main()
{
    int n = 5;
       
      // Function Call
    contalpha(n);
    return 0;
}
Output
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 Python
This 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.
 

Attention reader! Don’t stop learning now. Participate in the Scholorship Test for First-Step-to-DSA Course for Class 9 to 12 students.




My Personal Notes arrow_drop_up
Recommended Articles
Page :