Inner reducing pattern printing - GeeksforGeeks

27 Dec, 2018
Given a number N, print the following pattern.
Examples :
Input : 4
Output : 4444444
         4333334
         4322234
         4321234
         4322234
         4333334
         4444444
Explanation:
(1) Given value of n forms the outer-most
 rectangular box layer.
(2) Value of n reduces by 1 and forms an 
inner rectangular box layer.
(3) The step (2) is repeated until n 
reduces to 1.

Input : 3
Output : 33333
         32223
         32123
         32223
         33333

C++
Java
Python3
C#
PHP
// C++ Program to print rectangular// inner reducing pattern#include <bits/stdc++.h>using namespace std;  #define max 100  // function to Print patternvoid print(int a[][max], int size) {for (int i = 0; i < size; i++) {    for (int j = 0; j < size; j++) {    cout << a[i][j];    }    cout << endl;}}  // function to compute patternvoid innerPattern(int n) {      // Pattern Sizeint size = 2 * n - 1;int front = 0;int back = size - 1;int a[max][max];while (n != 0) {    for (int i = front; i <= back; i++) {    for (int j = front; j <= back; j++) {        if (i == front || i == back ||            j == front || j == back)        a[i][j] = n;    }    }    ++front;    --back;    --n;}print(a, size);}  // Driver codeint main(){    // Input    int n = 4;           // function calling    innerPattern(n);      return 0;}  // This code is contributed by Anant Agarwal.
// Java Program to print rectangular// inner reducing patternpublic class Pattern {          // function to compute pattern    public static void innerPattern(int n)    {           // Pattern Size        int size = 2 * n - 1;         int front = 0;        int back = size - 1;        int a[][] = new int[size][size];        while (n != 0) {            for (int i = front; i <= back; i++) {                for (int j = front; j <= back;                                        j++) {                    if (i == front || i == back ||                         j == front || j == back)                        a[i][j] = n;                }            }            ++front;            --back;            --n;        }        print(a, size);    }      // function to Print pattern    public static void print(int a[][], int size)    {        for (int i = 0; i < size; i++) {            for (int j = 0; j < size; j++) {                System.out.print(a[i][j]);            }            System.out.println();        }    }      // Main Method    public static void main(String[] args)    {        int n = 4; // Input        innerPattern(n);    }}
# Python3 Program to print rectangular # inner reducing pattern MAX = 100  # function to Print pattern def prints(a, size):     for i in range(size):         for j in range(size):            print(a[i][j], end = '')        print()  # function to compute pattern def innerPattern(n):           # Pattern Size     size = 2 * n - 1    front = 0    back = size - 1    a = [[0 for i in range(MAX)]              for i in range(MAX)]    while (n != 0):         for i in range(front, back + 1):            for j in range(front, back + 1):                if (i == front or i == back or                    j == front or j == back):                    a[i][j] = n        front += 1        back -= 1        n -= 1    prints(a, size);   # Driver code   # Input n = 4  # function calling innerPattern(n)  # This code is contributed # by sahishelangia
// C# Program to print rectangular// inner reducing patternusing System;public class Pattern {          // function to compute pattern    public static void innerPattern(int n)    {         // Pattern Size        int size = 2 * n - 1;         int front = 0;        int back = size - 1;        int [ ,]a = new int[size,size];        while (n != 0) {            for (int i = front; i <= back; i++) {                for (int j = front; j <= back;                                        j++) {                    if (i == front || i == back ||                        j == front || j == back)                        a[i,j] = n;                }            }            ++front;            --back;            --n;        }        print(a, size);    }      // function to Print pattern    public static void print(int [ ,]a , int size)    {        for (int i = 0; i < size; i++) {            for (int j = 0; j < size; j++) {                Console.Write(a[i,j]);            }            Console.WriteLine();        }    }      // Main Method    public static void Main()    {        int n = 4; // Input        innerPattern(n);    }}/*This code is contributed by vt_m.*/
<?php// PHP implementation to print // rectangular inner reducing pattern  $max=100;  // function to Print patternfunction print1($a, $size) {for ($i = 0; $i < $size; $i++)     {    for ($j = 0; $j < $size; $j++)         {            echo $a[$i][$j];        }    echo "\n";    }}  // function to compute patternfunction innerPattern($n) {              // Pattern Size    $size = 2 * $n - 1;    $front = 0;    $back = $size - 1;    $a;    while ($n != 0)     {        for ($i = $front; $i <= $back;                                  $i++)         {            for ($j = $front;                  $j <= $back; $j++)            {                if ($i == $front ||                     $i == $back ||                     $j == $front ||                     $j == $back)                                      $a[$i][$j] = $n;            }        }        ++$front;        --$back;        --$n;    }    print1($a, $size);}  // Driver code$n = 4; innerPattern($n);  // This code is contributed by mits     ?>
4444444
4333334
4322234
4321234
4322234
4333334
4444444

This article is contributed by Vigneshwaran Kannan. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Mithun Kumar
sahilshelangia
pattern-printing
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Constructors in Java
Exceptions in Java
Data Types
Inline Functions in C++
Pure Virtual Functions and Abstract Classes in C++
Difference between Abstract Class and Interface in Java
Destructors in C++
Python Exception Handling
Exception Handling in C++
Input and Output