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; } |
* * * * * * * * * * * * * * *
- After 180 degree rotation
CPP
// 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 = 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; } |
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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; } |
* ** *** **** *****
- 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; } |
* * * * * * * * * * * * * * *
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; } |
* *** ***** *******
- 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; } |
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; } |
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; } |
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 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; } |
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; } |
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; } |
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; } |
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; } |
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.
Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.