Program to print the given pattern
12345
23451
34521
45321
54321

C Programming Language / Loop control in C Language

10758

Program:

/**
 * C program to print number pattern
 * www.atnyla.com
 */

#include <stdio.h>

int main()
{
    int rows, cols, i, j;

    /* Input rows and columns from user */
    printf("Enter number of rows: ");
    scanf("%d", &rows);
    printf("Enter number of columns: ");
    scanf("%d", &cols);

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

        for(j=i-1; j>=1; j--)
        {
            printf("%d", j);
        }

        printf("\n");
    }

    return 0;
}
Output

Output:

Enter number of rows: 5
Enter number of columns: 5
12345
23451
34521
45321
54321

Explanation:

Required knowledge

Basic C programming, Loop

Logic to print the given pattern

Before you get into this pattern it is highly recommended that you must learn some basic of number pattern printing.

Once you get acquainted with basics number pattern printing, take a minute and have a close eye on this pattern. If you can notice you might divide this entire pattern in two patterns. Let me show.

After looking on both patterns separately I assume that you can easily decode the logic of these two patterns and can combine in single logic. If not here's what you need to do.

  1. Run an outer loop from 1 to rows (where rows is the total rows to be printed).
  2. To print the first part, run an inner loop from current row to columns. Inside this loop print the current column number.
  3. To print the second part, run another inner loop from current row-1 to 1. Inside this loop again print the current column number.

And you are done. Lets implement this now...


This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.