## C# program to print the Pascal’s triangle:

In this post, we will learn how to print the *Pascal’s triangle* in *C#*. This program will take the height of the triangle as an input from the user and print the triangle of that height. The *Pascal’s triangle* is a number triangle where each digit in any row is equal to the sum of the *left* and *right* digits of the above row. The start and end digits of any row should be *1*.

For example, the following triangle is a Pascal’s triangle of height *5*:

```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```

Here, each element of the row is equal to the sum of the *left* and *right* elements of the above row and the start and the end elements are *1*.

### Algorithm to print the Pascal’s triangle:

To understand the algorithm, let’s learn how to print a *Pascal’s triangle*. Let’s say we want to print the following triangle:

```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```

If I replace the blank spaces with a ***, it will look as like below:

```
****1
***1 1
**1 2 1
*1 3 3 1
1 4 6 4 1
```

- We will use one
*outer for loop*and two*inner for loops*. - Let’s say
*height*is the height of the triangle. - The outer loop will point to each row of the triangle. It will run for
*height*number of times. -
The first inner loop will print the initial blank spaces and the second loop will print the digits of the triangle.

- The outer loop will run from
*0*to*height - 1*. - The first inner loop will run from
*0*to*n - i - 1*. It will print the initial blank spaces. - The second inner loop will run from
*k = 0*to*k = i*. It will print*1*if*k == 0*or*k == i*. Else, it will compute the current value by adding the left and the right values of the above row and print it.

- The outer loop will run from
- We will use one
*2D*array to hold the values of each row.

Let’s write down the program in code.

### C# program to print the Pascal’s triangle with user input height:

Below is the complete *C#* program:

```
using System;
class ExampleProgram
{
public static void Main()
{
Console.WriteLine("Enter the height: ");
int height = Convert.ToInt32(Console.ReadLine());
int spacing = 6;
int[,] data = new int[height, height];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < height - i - 1; j++)
{
Console.Write("".PadRight(spacing/2));
}
for (int k = 0; k <= i; k++)
{
if (k == 0 || k == i)
{
data[i, k] = 1;
}
else
{
data[i, k] = data[i - 1, k] + data[i - 1, k - 1];
}
Console.Write(data[i, k].ToString().PadRight(spacing));
}
Console.WriteLine();
}
}
}
```

Here,

- It asks the user to enter the height. It reads this value and assigns it to the
*height*integer variable. - The
*spacing*variable is used to add padding to the right of each print to fix the alignment of the digits. - The for loop that uses
*i*points to each row of the triangle. - The first inner loop that uses
*j*is used to print the starting blank spaces. And, the second inner loop is used to print the number of the*Pascal’s triangle*.

If you run this program, it will print output as below:

```
Enter the height:
8
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
Enter the height:
4
1
1 1
1 2 1
1 3 3 1
```

### You might also like:

- Python string isdigit() method explanation with example
- Python string isidentifier() method
- Python string islower method explanation with example
- Python program to check if a number is divisible by another number or not
- Python program to check if a number is duck number or not
- Python program to convert celsius to Fahrenheit and vice versa
- Python program to check if a number is a magic number or not
- Difference between random.sample() vs random.choice() in Python
- Python program to check for Moran numbers