Program to print the given number pattern reverse
6777777
5677777
4567777
3456777
2345677
1234567
 

C Programming Language / Loop control in C Language

1422

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=rows; i>=1; i--)
    {
        for(j=i; j<=cols; j++)
        {
            printf("%d", j);
        }

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

        printf("\n");
    }

    return 0;
}

Output:

Enter number of rows: 6
Enter number of columns: 7
6777777
5677777
4567777
3456777
2345677
1234567
Press any key to continue . . .

Explanation:

Required knowledge

Basic C programming, Loop

Logic to print the given number pattern

Before we get into detail of printing these two patterns I assume that you all must be aware of basic number pattern printing, if not I recommend you to go through some previous number pattern to get yourself acquainted.

 

12345
23455
34555
45555
55555

 

Now, considering this pattern have an eye to this pattern carefully you will notice two separate patterns here. The two separate patterns are:

Now logic to print the both patterns separately is relatively easier then whole pattern at once.

  1. Run an outer loop from 1 to max-column (where max-column is total number of columns in our case its 5).
  2. Initialize the inner loop from the current row till max-column.
  3. Inside inner loop print the current column.
  4. Run another inner loop after the termination of loop stated in step 2. Initialize it from current row till 1. And print max-column inside this loop.

And you are done. Lets, now implement this on code.

Program to print the giv


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.