pattern printing

You are required to form a matrix of size 

r×c

 where 

r

 is the number of rows and 

c

 is the number of columns. You are required to form the waves of numbers around the provided center, 

(Ci, Cj)

 (0-based indexing).
Example:

  • Size of the matrix: 
    r=9

     and 

    c=9

  • Center coordinates: 
    Ci=4

     and 

    Cj=4

     (0 based indexing)

  • Pattern:
            4 4 4 4 4 4 4 4 4
            4 3 3 3 3 3 3 3 4
            4 3 2 2 2 2 2 3 4
            4 3 2 1 1 1 2 3 4
            4 3 2 1 0 1 2 3 4
            4 3 2 1 1 1 2 3 4
            4 3 2 2 2 2 2 3 4
            4 3 3 3 3 3 3 3 4
            4 4 4 4 4 4 4 4 4

You are given the values of 

r, c, Ci, Cj

 (the values of 

Ci

 and 

Cj

 is 0-based indexed). Your task is to print the provided pattern.
Input format
The first line contains four integers 

r

c

Ci

, and 

Cj

 denoting the number of rows, number of columns, 

x

 coordinate of center, and 

y

 coordinate of center.
Output format
Print the pattern for the provided input.
Constraints

1r1e31c1e30Ci<r0Cj<c

SAMPLE INPUT
10 10 5 5
SAMPLE OUTPUT
5 5 5 5 5 5 5 5 5 5 
5 4 4 4 4 4 4 4 4 4
5 4 3 3 3 3 3 3 3 4
5 4 3 2 2 2 2 2 3 4
5 4 3 2 1 1 1 2 3 4
5 4 3 2 1 0 1 2 3 4
5 4 3 2 1 1 1 2 3 4
5 4 3 2 2 2 2 2 3 4
5 4 3 3 3 3 3 3 3 4
5 4 4 4 4 4 4 4 4 4
Explanation

Given input have shown output.

solution:-

#include<stdio.h>
#include<stdlib.h>
void main()
{
    int r,c,a,b,i,j,k,l,m,n,p=0;
    scanf(“%d%d%d%d”,&r,&c,&a,&b);
    for(i=0;i<=r1;i++)
    {
        for(j=0;j<=c1;j++)
        {
            if(i==a&&j==b)
             printf(“%d “,p);
            else
            {
                l=abs(ai);
                k=abs(bj);
                m=p+l;
                n=p+k;
                if(l>=k)
                {
                    if(m>=0)
                     printf(“%d “,m);
                    else printf(“0 “);
                }
                else
                {
                    if(n>=0)
                     printf(“%d “,n);
                    else
                     printf(“0 “);
                }

            }
            
        }
        printf(“n”);
    }
}

One thought on “pattern printing

Leave a Reply

Your email address will not be published.