Number pattern 19 in C

Write a C program to print the given triangular number pattern using loop. How to print the given triangular number pattern using for loop in C programming. Logic to print the given number pattern using for loop in C program.

Example

Input

Input N: 5

Output

Required knowledge

Basic C programming, Loop

Logic to print the given number pattern 1

If you are following my previous posts then you might notice that these two patterns are similar to one of the previous number pattern that I have discussed earlier. Hence, it is recommended to go through it as it will help you to build logic for the pattern we are going to print.

Now considering the first pattern that we need to print.

If you notice, in above pattern if we start from 1st to 5th row, the current row number gets printed in every columns. Also number of columns per row is dependent on the current row number (i.e. there are 1 columns in row1, 2 in row2, 3 in row3 and so on). So lets, write down step by step logic to the above pattern.

  1. To iterate through rows, initialize an outer loop from 1 to N (where N is the total rows to be printed).
  2. To print columns per row, initialize an inner loop from 1 to current_row_number (since columns are row dependent). Inside this loop print the value of current_row_number.

And you are done. Lets write down its code.

Program to print the given number pattern 1

/**
 * C program to print number pattern
 */

#include <stdio.h>

int main()
{
    int i, j, N;

    printf("Enter N: ");
    scanf("%d", &N);

    for(i=1; i<=N; i++)
    {
        for(j=1; j<=i; j++)
        {
            printf("%d", i);
        }

        printf("\n");
    }

    return 0;
}

Output

Enter N: 9
1
22
333
4444
55555

Logic to print the given number pattern 2

Once you are done with the above pattern, you can easily think the logic of the second pattern.

Logic to the above pattern is same as first, with extra trailing spaces. We only need to add the logic of printing spaces just before the number gets printed. If you hover to the pattern you can see number of spaces per row, which is in decreasing order i.e. row1 contains 4 spaces, row2 contains 3 and so on last row contains no space. Below is the logic to print spaces:

  1. To print spaces, initialize an inner loop from current_row_number to N. Inside this loop print single space.

Program to print the given number pattern 2

/**
 * C program to print number pattern
 */

#include <stdio.h>

int main()
{
    int i, j, N;

    printf("Enter N: ");
    scanf("%d", &N);

    for(i=1; i<=N; i++)
    {
        // Logic to print spaces
        for(j=i; j<N; j++)
        {
            printf(" ");
        }

        // Logic to print numbers
        for(j=1; j<=i; j++)
        {
            printf("%d", i);
        }

        printf("\n");
    }

    return 0;
}

Happy coding 😉