C++ Program To Print Hollow Star Pyramid Diamond Shape Pattern
Here, we will build a C++ program to print the hollow star pyramid diamond shape pattern that can be achieved with two approaches i.e.
- Using for Loop
- Using while loop
Input:
n = 5
Output:
* * * * * * * * * * * * * * * *
1. Using for loop
C++
// C++ program to print hollow diamond pattern #include <iostream> using namespace std; int main() { int n = 5, rows, columns; // for loop is used to identify the number of rows and // it is used to print upper triangle for (rows = 1; rows <= n; rows++) { // used for printing the spaces for (columns = n; columns > rows; columns--) { cout << " " ; } // print star cout << "*" ; // again print the spaces for (columns = 1; columns < (rows - 1) * 2; columns++) { cout << " " ; } if (rows == 1) { cout << "\n" ; } else { cout << "*\n" ; } } // for loop is used to identify the number of rows and // it is used to print lower triangle for (rows = n - 1; rows >= 1; rows--) { // used for printing the spaces for (columns = n; columns > rows; columns--) { cout << " " ; } // print star cout << "*" ; for (columns = 1; columns < (rows - 1) * 2; columns++) { cout << " " ; } if (rows == 1) { cout << "\n" ; } else { cout << "*\n" ; } } return 0; } |
Output
* * * * * * * * * * * * * * * *
Time complexity: O(n2) for given input n
Auxiliary Space: O(1)
2. Using while loop:
C++
// C++ program to print hollow diamond pattern #include <iostream> using namespace std; int main() { int n = 5, rows = 1, columns; // while loop is used to identify the number of rows and // it is used to print upper triangle while (rows <= n) { columns = n; // used for printing the spaces while (columns > rows) { cout << " " ; columns--; } // print star cout << "*" ; columns = 1; while (columns < (rows - 1) * 2) { cout << " " ; columns++; } if (rows == 1) { cout << "\n" ; } else { cout << "*\n" ; } rows++; } // while loop is used to identify the number of rows and // it is used to print lower triangle rows = n - 1; while (rows >= 1) { columns = n; // used for printing the spaces while (columns > rows) { cout << " " ; columns--; } // print star cout << "*" ; columns = 1; while (columns < (rows - 1) * 2) { cout << " " ; columns++; } if (rows == 1) { cout << "\n" ; } else { cout << "*\n" ; } rows--; } return 0; } |
Output
* * * * * * * * * * * * * * * *
Time complexity: O(rows*columns)
Auxiliary Space: O(1)
Please Login to comment...