Header Ads Widget

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 rcCi, 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<=r-1;i++)
    {
        for(j=0;j<=c-1;j++)
        {
            if(i==a&&j==b)
             printf("%d ",p);
            else
            {
                l=abs(a-i);
                k=abs(b-j);
                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");
    }
}