How to print a full pyramid in C++ :
In this post, we will learn how to print a full pyramid in C++. The program will take the height of the pyramid as input from the user and print it out.
A full pyramid looks as like below:
*
* *
* * *
* * * *
* * * * *
The height of this pyramid is 5. Our program will print the pyramid of any height.
Algorithm to print a pyramid:
To print a pyramid, we need to find out how it is printed actually. Let’s take a look at the below pyramid:
yyyy*
yyy* *
yy* * *
y* * * *
* * * * *
This is almost similar to the above one. The only difference is that we are using y and the above pyramid uses blank space.
To learn how to print this triangle, let’s write the algo for the second triangle:
For this triangle, height is 5 and if we consider the row is starting from 0,
- For row 0, we are printing 4 y and 1 *.
- For row 1, we are printing 3 y and 2 *.
- For row 2, we are printing 2 y and 3 *.
So, for row n, we are printing height - n - 1 number of y and n + 1 number of *.
For the first triangle, we need to replace y with blank and add one space after each star.
So, the final algorithm will be:
- Take the height as input from the user
- Run one loop height number of times.
- Use two inner loops to print the blank and *. Print blank for height - i - 1 times and * for i + 1 times, where i is the current row as indicated by the loop.
- Add one blank after each * and don’t add any space between spaces.
- Add one new line after each row.
C++ program:
Let’s write the above algorithm in C++ :
#include <iostream>
using namespace std;
int main()
{
int height;
cout << "Enter the height of the triangle : " << endl;
cin >> height;
for (int i = 0; i < height; i++)
{
for (int j = 0; j < (height - i - 1); j++)
{
cout << " ";
}
for (int j = 0; j < (i + 1); j++)
{
cout << "* ";
}
cout << endl;
}
}
Here,
- The for loop with i is used to run from i = 0 to i = height - 1.
- The inner for loops are used to print the blank spaces and *.
- The first loop prints from j = 0 to j = height - i - 2 a space.
- The second loop prints * from j = 0 to j = i.
Output:
This program prints the below output:
Enter the height of the triangle :
10
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
Enter the height of the triangle :
5
*
* *
* * *
* * * *
* * * * *