In this article, we will discuss the following top pattern programs in C++ star *, numbers, or other characters.

Pyramid Patterns in C++
- Simple Pyramid Pattern
- Simple Pyramid Pattern after 180° Rotation
- Inverted Pyramid Pattern
- Inverted Pyramid Pattern after 180° Rotation
- Triangle Pattern
- Inverted Triangle Pattern
- Number Pyramid Pattern
- Numbers Pyramid Pattern without Reassigning
- Continuous Number Pyramid Pattern after 180° Rotation
- Palindrome Triangle Pattern
- Alphabet Pyramid Pattern
- Continuous Alphabet Pyramid Pattern
C++ Programs to Print Patterns and Pyramids
1. Simple Pyramid Pattern in C++
Method 1: Printing simple pyramid pattern using for loop
C++
#include <iostream>
using namespace std;
void pypart( int n)
{
for ( int i = 0; i < n; i++) {
for ( int j = 0; j <= i; j++) {
cout << "* " ;
}
cout << endl;
}
}
int main()
{
int n = 5;
pypart(n);
return 0;
}
|
Output*
* *
* * *
* * * *
* * * * *
Time Complexity: O(n^2), where n is the input number of rows.
Auxiliary Space: O(1),
Method 2: Printing the above pattern using while Loop
C++
#include <iostream>
using namespace std;
void pypart( int n)
{
int i = 0, j = 0;
while (i < n) {
while (j <= i) {
cout << "* " ;
j++;
}
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
pypart(n);
return 0;
}
|
Output*
* *
* * *
* * * *
* * * * *
Method 3: Printing the above pattern using recursion.
C++
#include <iostream>
using namespace std;
void print( int n)
{
if (n == 0)
{
return ;
}
cout << "* " ;
print(n - 1);
}
void pattern( int n)
{
if (n == 0)
{
return ;
}
else
{
pattern(n - 1);
print(n);
cout << endl;
}
}
int main()
{
int n = 5;
pattern(n);
}
|
Output*
* *
* * *
* * * *
* * * * *
2. Simple Pyramid Pattern in C++ after 180° Rotation
Method 1: Printing the 180° rotated simple pyramid pattern using for loop.
C++
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for ( int i = n; i > 0; i--) {
for ( int j = 1; j <= n; j++)
{
if (j >= i) {
cout << "* " ;
}
else {
cout << " " ;
}
}
cout << endl;
}
return 0;
}
|
Output *
* *
* * *
* * * *
* * * * *
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void pypart2( int n)
{
int i = 0, j = 0, k = 0;
while (i < n) {
while (k < (n - i - 1)) {
cout << " " ;
k++;
}
k = 0;
while (j <= i) {
cout << "* " ;
j++;
}
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
pypart2(n);
return 0;
}
|
Output *
* *
* * *
* * * *
* * * * *
3. Inverted Pyramid Pattern in C++
Method 1: Printing the pattern using for loop.
C++
#include <iostream>
using namespace std;
void pypart( int n)
{
for ( int i = n; i > 0; i--) {
for ( int j = 0; j < i; j++) {
cout << "* " ;
}
cout << endl;
}
}
int main()
{
int n = 5;
pypart(n);
return 0;
}
|
Output* * * * *
* * * *
* * *
* *
*
Method 2: Printing the pattern using while loop.
C++
#include <iostream>
using namespace std;
void pypart( int n)
{
int i = n, j = 0;
while (i > 0) {
while (j < i) {
cout << "* " ;
j++;
}
j = 0;
i--;
cout << endl;
}
}
int main()
{
int n = 5;
pypart(n);
return 0;
}
|
Output* * * * *
* * * *
* * *
* *
*
Method 3: Printing the above pattern using recursion.
C++
#include <bits/stdc++.h>
using namespace std;
void print( int n)
{
if (n == 0)
{
return ;
}
cout << "* " ;
print(n - 1);
}
void pattern( int n)
{
if (n == 0) {
return ;
}
print(n);
cout << endl;
pattern(n - 1);
}
int main()
{
int n = 5;
pattern(n);
return 0;
}
|
Output* * * * *
* * * *
* * *
* *
*
4. Inverted Pyramid Pattern in C++ after 180° Rotation
Method 1: Printing this pattern using for loop.
C++
#include <iostream>
using namespace std;
void pypart2( int n)
{
int k = 2 * n - 2;
for ( int i = n; i > 0; i--) {
for ( int j = 0; j < n - i; j++)
cout << " " ;
k = k - 2;
for ( int j = 0; j < i; j++) {
cout << "* " ;
}
cout << endl;
}
}
int main()
{
int n = 5;
pypart2(n);
return 0;
}
|
Output* * * * *
* * * *
* * *
* *
*
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void pypart2( int n)
{
int i = n, j = 0, k = 0;
while (i > 0) {
while (k < (n - i)) {
cout << " " ;
k++;
}
k = 0;
while (j < i) {
cout << "* " ;
j++;
}
j = 0;
i--;
cout << endl;
}
}
int main()
{
int n = 5;
pypart2(n);
return 0;
}
|
Output* * * * *
* * * *
* * *
* *
*
5. Triangle Pattern in C++
Method 1: Printing the given pattern using for loop.
C++
#include <iostream>
using namespace std;
void pypart2( int n)
{
int i, j, k = n;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
if (j >= k)
cout << "* " ;
else
cout << " " ;
}
k--;
cout << "\n" ;
}
}
int main()
{
int n = 5;
pypart2(n);
return 0;
}
|
Output *
* *
* * *
* * * *
* * * * *
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void pypart2( int n)
{
int i = 0, j = 0, k = 0;
while (i < n) {
while (k <= n - i - 2) {
cout << " " ;
k++;
}
k = 0;
while (j <= i) {
cout << "* " ;
j++;
}
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
pypart2(n);
return 0;
}
|
Output *
* *
* * *
* * * *
* * * * *
6. Inverted Triangle Pattern in C++
Method 1: Printing the inverted triangle pattern using for loop.
C++
#include <iostream>
using namespace std;
void printInvTriangle( int n)
{
for ( int i = 0; i < n; i++) {
int space = i;
for ( int j = 0; j < 2 * n - i - 1; j++) {
if (space) {
cout << " " ;
space--;
}
else {
cout << "* " ;
}
}
cout << endl;
}
}
int main()
{
printInvTriangle(5);
return 0;
}
|
Output* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void printInvTriangle( int n)
{
int i = 0;
int j;
while (i < n) {
int space = i;
j = 0;
while (j < 2 * n - i - 1) {
if (space) {
cout << " " ;
space--;
}
else {
cout << "* " ;
}
j++;
}
cout << endl;
i++;
}
}
int main()
{
printInvTriangle(5);
return 0;
}
|
Output* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
6. Number Pyramid Pattern in C++
Method 1: Printing the number pyramid pattern using for loop.
C++
#include <iostream>
using namespace std;
void numpat( int n)
{
int num = 1;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j <= i; j++)
cout << num << " " ;
num = num + 1;
cout << endl;
}
}
int main()
{
int n = 5;
numpat(n);
return 0;
}
|
Output1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void pypart( int n)
{
int i = 1, j = 0;
while (i <= n) {
while (j <= i - 1) {
cout << i << " " ;
j++;
}
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
pypart(n);
return 0;
}
|
Output1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
7. Numbers Pyramid Pattern in C++ without Reassigning
Method 1: Printing the number pyramid pattern in C++ without reassigning using for loop.
C++
#include <iostream>
using namespace std;
void numpat( int n)
{
int num = 1;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j <= i; j++) {
cout << num << " " ;
num = num + 1;
}
cout << endl;
}
}
int main()
{
int n = 5;
numpat(n);
return 0;
}
|
Output1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void pypart( int n)
{
int i = 1, j = 0;
int num = 1;
while (i <= n) {
while (j <= i - 1) {
cout << num << " " ;
num++;
j++;
}
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
pypart(n);
return 0;
}
|
Output1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
8. Continuous Number Pyramid in C++ after 180° Rotation
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;
}
|
Output 1
2 3
3 4 5
4 5 6 7
5 6 7 8 9
9. Palindrome Triangle Pattern in C++
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;
}
|
Output 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
10. Alphabet Pyramid Pattern in C++
Method 1: Printing the given pattern using for loop.
C++
#include <iostream>
using namespace std;
void alphabet( int n)
{
int num = 65;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j <= i; j++) {
char ch = char (num);
cout << ch << " " ;
}
num = num + 1;
cout << endl;
}
}
int main()
{
int n = 5;
alphabet(n);
return 0;
}
|
OutputA
B B
C C C
D D D D
E E E E E
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
void alphabet( int n)
{
int i = 1, j = 0;
int num = 65;
char alpha = char (num);
while (i <= n) {
while (j <= i - 1) {
cout << alpha << " " ;
j++;
}
alpha++;
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
alphabet(n);
return 0;
}
|
OutputA
B B
C C C
D D D D
E E E E E
11. Continuous Alphabet Pyramid Pattern in C++
Method 1: Printing the above pattern using for loop.
C++
#include <iostream>
using namespace std;
void contalpha( int n)
{
int num = 65;
for ( int i = 0; i < n; i++) {
for ( int j = 0; j <= i; j++) {
char ch = char (num);
cout << ch << " " ;
num = num + 1;
}
cout << endl;
}
}
int main()
{
int n = 5;
contalpha(n);
return 0;
}
|
OutputA
B C
D E F
G H I J
K L M N O
Method 2: Printing the above pattern using while loop.
C++
#include <iostream>
using namespace std;
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 << " " ;
alpha++;
j++;
}
j = 0;
i++;
cout << endl;
}
}
int main()
{
int n = 5;
contalpha(n);
return 0;
}
|
OutputA
B C
D E F
G H I J
K L M N O
Printing patterns in python language are discussed in the following article – 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. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or if you want to share more information about the topic discussed above.
Write a program to print the pyramid pattern formed of stars
Example
input n=10
output:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
Approach: using nested loop
The approach used here is to first print a certain number of spaces based on the current row number (i) and the total number of rows (n) to make sure that the pattern is aligned to the right. Then, the required number of asterisks are printed in the current row using a nested loop.
Algorithm
1. Take input for the number of rows (n)
2. Iterate through each row from 1 to n
3. Print spaces before the asterisks for alignment
4. Iterate through each column from 1 to i
5. Print an asterisk followed by a space
6. Move to the next line for the next row
Python3
n = 10
for i in range ( 1 ,n + 1 ):
print ( " " * (n - i),end = "")
for j in range ( 1 ,i + 1 ):
print ( "*" ,end = " " )
print ()
|
Output *
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
Time Complexity:
The time complexity of this program is O(n^2), as it involves two nested loops, one for the rows and another for the columns.
Space Complexity:
The space complexity of this program is O(1), as it uses a constant amount of space to print each character.