In this problem, you need to print the pattern of the following form containing the numbers from to .
4 4 4 4 4 4 4
4 3 3 3 3 3 4
4 3 2 2 2 3 4
4 3 2 1 2 3 4
4 3 2 2 2 3 4
4 3 3 3 3 3 4
4 4 4 4 4 4 4
Input Format
The input will contain a single integer .
Constraints
Output Format
Print the pattern mentioned in the problem statement.
Sample Input 0
2
Sample Output 0
2 2 2
2 1 2
2 2 2
Sample Input 1
5
Sample Output 1
5 5 5 5 5 5 5 5 5
5 4 4 4 4 4 4 4 5
5 4 3 3 3 3 3 4 5
5 4 3 2 2 2 3 4 5
5 4 3 2 1 2 3 4 5
5 4 3 2 2 2 3 4 5
5 4 3 3 3 3 3 4 5
5 4 4 4 4 4 4 4 5
5 5 5 5 5 5 5 5 5
Sample Input 2
7
Sample Output 2
7 7 7 7 7 7 7 7 7 7 7 7 7
7 6 6 6 6 6 6 6 6 6 6 6 7
7 6 5 5 5 5 5 5 5 5 5 6 7
7 6 5 4 4 4 4 4 4 4 5 6 7
7 6 5 4 3 3 3 3 3 4 5 6 7
7 6 5 4 3 2 2 2 3 4 5 6 7
7 6 5 4 3 2 1 2 3 4 5 6 7
7 6 5 4 3 2 2 2 3 4 5 6 7
7 6 5 4 3 3 3 3 3 4 5 6 7
7 6 5 4 4 4 4 4 4 4 5 6 7
7 6 5 5 5 5 5 5 5 5 5 6 7
7 6 6 6 6 6 6 6 6 6 6 6 7
7 7 7 7 7 7 7 7 7 7 7 7 7
Now here's the solution in C:-
code snippet:#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>
int main() { int n,i,j,k; int s=0,e; scanf("%d", &n); k=(2*n)-1; int a[k][k]; e=k-1; while(n!=0) { for(i=s;i<=e;i++) { for(j=s;j<=e;j++) { if(i==s||i==e||j==s||j==e) { a[i][j]=n; } } } s++; e--; n--; } for(i=0;i<k;i++) { for(j=0;j<k;j++) { printf("%d ",a[i][j]); } printf("\n"); } return 0;}
No comments:
Post a Comment