# Introduction :

In this *C++* tutorial, we will learn how to print Floyd’s triangle programmatically. Floyd triangle is named after *Robert Floyd*. It is a right angled triangle created by using *natural numbers*. It looks like as below :

```
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
```

The first row has *1* number, the second row has *2*, the third row has *3* etc. The numbers are starting from *1* and increase by *1* on each step if we iterate the triangle *one by one row* and from *left to right*.

Our program will take the *height* of the triangle as an input from the user. With this tutorial, you will learn *how to use loops*, *how to print values*, *how to read values* in C++.

## C++ program using for loop :

```
#include <iostream>
using namespace std;
int main()
{
//1
int height;
int value = 1;
//2
cout << "Enter the height of the triangle : " << endl; cin >> height;
cout << "\n"
<< "Floyd's triangle of height " << height << " :"
<< "\n"
<< endl;
//3
for (int i = 0; i < height; i++)
{
//4
for (int j = 0; j <= i; j++)
{
cout << value << " ";
value++;
}
cout << endl;
}
return 0;
}
```

## Explanation :

*The commented numbers in the above program denote the step numbers below :*

- Create one
*integer*variable*height*to store the height of the triangle and*value*to indicate the current value to print. - Ask the user to enter the
*height*of the triangle. We are using*cout*to print a message to the user. Read that value and store it in the variable*height*.*cin*is used for reading a value. - Now, run two
*for loops*. The outer one will run from*i = 0*to*i = height - 1*. e.g if the value of height is*4*, it will run from*i = 0*to*i = 3*i.e.*4*times. The inner loop will run from*j = 0*to*j = i*. e.g. if the value of*i*is*2*, it will run for*2*times. The outer loop is used to indicate each*row*of the triangle and the inner loop is used to indicate each*column*of a*row*in the triangle. - Inside both loops, print the value of the variable
*value*. Also, increment it by*1*. This variable is initialized as*1*. So it will print the numbers serially on each step like*1, 2, 3, 4, 5…*.

### Sample Output :

```
Enter the height of the triangle :
5
Floyd's triangle of height 5 :
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
Enter the height of the triangle :
8
Floyd's triangle of height 8 :
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35 36
```

## Floyd’s triangle using a while loop in C++ :

We can also use one *while* loop to print the same Floyd’s triangle :

```
#include <iostream>
using namespace std;
int main()
{
int height;
int value = 1;
cout << "Enter the height of the triangle : " << endl; cin >> height;
cout << "\n"
<< "Floyd's triangle of height " << height << " :"
<< "\n"
<< endl;
int i = 0, j;
while (i < height)
{
j = 0;
while (j <= i)
{
cout << value << " ";
value++;
j++;
}
cout << endl;
i++;
}
return 0;
}
```

The output is the same as like above.

## Conclusion :

In this tutorial, you have learned how to print Floyd’s triangle or a number right angled triangle in C++ using for loop and while loop. Try to go through the program and drop one comment below if you have any questions.