Number pattern 31 in C

Write a C program to print the given 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 N: 5
Output:

Required knowledge

Basic C programming, Loop

Logic to print the given number pattern 1

Before I discuss logic to print the given number pattern, I recommend you that have a close look to the pattern carefully for a couple of minutes. The above pattern consists of N rows (where N is the total number of rows to be printed). Each row contains i columns (where i is the current row number). To print the above pattern we will be using an extra variable say k that will keep the value which we need to print.
Step-by-step descriptive logic:
  1. To iterate through rows, run an outer loop from 1 to N.
  2. Inside the outer loop initialize k = i (where k is an extra variable which will hold the number which we need to print next and i is the current row number).
  3. To print the numbers, run an inner loop from 1 to i. Inside this loop print the value of k. Also increment the value of k after printing.
And you are done, lets implement this.

Program to print the given number pattern 1

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

#include <stdio.h>

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

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

    for(i=1; i<=N; i++)
    {
        k = i;

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

        printf("\n");
    }

    return 0;
}


Output
Enter N: 5
1
23
345
4567
56789


Screenshot 1

C program to print number pattern


Logic to print the given number pattern 2

If you look to the pattern you will notice that the pattern is similar to the pattern we just did except the trailing spaces. The logic to print the given pattern would be similar as the first pattern we just did. We only need to add the logic of printing spaces before the number gets printed. If you can notice, there are N - i spaces per row (where i is the current row number).
Step-by-step description to print spaces:
  1. To print spaces, run an inner loop from i to N - 1. Inside this loop print single blank space.


Program to print the given number pattern 2

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

#include <stdio.h>

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

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

    for(i=1; i<=N; i++)
    {
        k = i;

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

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

        printf("\n");
    }

    return 0;
}


Screenshot 2

C program to print number pattern


Happy coding ;)


Any doubt or suggestion write here. I will try my best to help. Before posting your code you must escape it to view. To format your source code and use format highlighting, post your source code inside
< code >< pre > -- Your source code -- < /pre >< /code > (Remove spaces from pre and code tags).

No comments:

Post a Comment