Related Articles
Programs for printing pyramid patterns in C++
• Difficulty Level : Easy
• Last Updated : 25 Sep, 2020

This article is aimed at giving a C++ implementation for pattern printing.

• Simple pyramid pattern

## CPP

 `// C++ code to demonstrate star pattern``#include ``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 ``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 ``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 = 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 - 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 = 10;``  ` `      ``// Function Call``    ``pypart2(n);``    ``return` `0;``}`
Output
```                  *
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
```

Printing above pattern using while loop

## CPP

 `// C++ code to demonstrate pattern printing``#include ``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
```    *
**
***
****
*****
```

• Printing Triangle

## Method 1

 `// C++ code to demonstrate star pattern``#include ``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 ``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 ``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 ``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 ``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 ``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 ``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 incresing 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 ``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 ``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 ``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 ``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 contribute.geeksforgeeks.org or mail your article to contribute@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.

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up