Wipro NLTH Pattern Making Question: 1

Ques: Print a given matrix in spiral form.

Given a 2D array, print it in spiral form. See the following examples.

Please comment down the code in other languages as well below –

Input:
        1    2   3   4
        5    6   7   8
        9   10  11  12
        13  14  15  16
Output: 
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 


Input:
        1   2   3   4  5   6
        7   8   9  10  11  12
        13  14  15 16  17  18
Output: 
1 2 3 4 5 6 12 18 17 16 15 14 13 7 8 9 10 11
Disclaimer-: The questions provided on this page are only model practice questions there is no surety that these questions have been previously asked in any company placement papers, these questions here only have the sole purpose to make you practice coding questions

11 comments on “Wipro NLTH Pattern Making Question: 1”


  • lastwish

    //JAVA CODE
    import java.util.Scanner;
    public class Main {
    static Scanner sc = new Scanner(System.in);
    static {System.out.println(“Enter the matrix size”);}
    static int size = sc.nextInt();
    static int countTline = 0;
    static int countRline = size-1;
    static int countBline = size-1;
    static int countLline = 0;
    static int[][] array = new int[size][size];
    static {
    System.out.println(“Enter your matrix values : press enter after typing each value”);
    for(int j = 0; j<size; j++){
    for(int k = 0; k<size;k++){
    array[j][k] = sc.nextInt();
    }}
    }
    public static void main(String[] args) {
    System.out.println("The circle of Given Matrix :-");
    for(int i =0;i<size;i++){
    straight();
    rightSide();
    bottomReverse();
    leftUp();
    }
    }
    public static void straight(){

    for(int i = 0 ; i < size; i++){
    if(array[countTline][i]==-1){
    continue;
    }
    else {
    System.out.print(array[countTline][i]+" ");
    array[countTline][i] = -1;
    }
    }
    countTline++;
    }
    public static void rightSide(){

    for(int i = 0; i=0;i–){
    if(array[countBline][i]==-1){
    continue;
    }
    else {
    System.out.print(array[countBline][i]+” “);
    array[countBline][i] = -1;
    }
    }
    countBline–;
    }
    public static void leftUp() {

    for (int i = size-1; i >= 0; i–) {
    if (array[i][countLline] == -1) {
    continue;
    } else {
    System.out.print(array[i][countLline] + ” “);
    array[i][countLline] = -1;
    }
    }
    countLline++;
    }
    }


  • Vedharathnabai

    import java.util.*;
    public class Main
    {
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int m,n,i,j,k=0;
    m=sc.nextInt();
    n=sc.nextInt();
    int arr[][]=new int[m][n];
    for( i=0;i<m;i++){
    for( j=0;j<n;j++){
    arr[i][j]=sc.nextInt();
    }
    }
    for( i=0;i<m;i++){
    for( j=0;j<n;j++){
    System.out.print(arr[i][j]+" ");

    }
    System.out.println();
    }
    for(i=0;i<m;i++){
    System.out.print(arr[k][i]);
    }
    k++;
    for(i=k;i=0;–i)
    {
    System.out.print(arr[m-1][i]);
    }
    m–;
    for(i=0;i<=k;i++)
    {
    System.out.print(arr[n-1][i]);
    }

    }
    }


  • Prasanth

    f=[]
    l = []

    n=int(input())

    for i in range(0,n):
    s1=[]
    s=input()
    s=s.split()
    for j in s:
    s1.append(int(j))
    l.append(s1)

    l3=l.copy()
    for h in range(0,len(l)//2):

    l1=[]
    final=[]

    final=final+l[0]

    for i in range(0,len(l)):
    if(i==0) or (i==len(l)-1):
    pass
    else:
    final.append(l[i][-1])

    final=final+l[-1][::-1]

    for i in range(0,len(l)):
    if(i==0) or (i==len(l)-1):
    pass
    else:
    l1.append(l[i][0])
    final=final+l1[::-1]
    f=f+final

    for i in range(0,len(l)):
    l[i].pop(0)
    l[i].pop(-1)

    l.pop(0)
    l.pop(-1)
    print(l)
    if(len(l3)%2!=0):
    f=f+l[0]
    print(f)


  • bommerla

    n=int(input(“enter number of row and cols you want to print:”))
    for i in range(n):
    row=[]
    for j in range(n):
    el=int(input())
    row.append(el)
    matrix.append(row)
    print(matrix)

    row_start=0
    row_end=n-1
    col_start=0
    col_end=n-1
    res=[]
    while row_start<=row_end and col_start<=col_end:
    for i in range(col_start,col_end+1):
    res.append(matrix[row_start][i])
    row_start+=1
    for i in range(row_start,row_end+1):
    res.append(matrix[i][col_end])
    col_end-=1
    if row_start<=row_end:
    for i in range(col_end,col_start-1,-1):
    res.append(matrix[row_end][i])
    row_end-=1
    if col_start<=col_end:
    for i in range(row_end,row_start-1,-1):
    res.append(matrix[i][col_start])
    col_start+=1

    print(res)


  • Sasi

    r=int(input(“entre no of rows”))
    c=int(input(“entre no of columns”))
    l=[list(map(int,input().split())) for _ in range(r)]
    ans=[*l[0]]
    for i in range(1,r):
    j=c-1
    ans.append(l[i][j])
    for i in l[-1][c-2::-1]:
    ans.append(i)
    for i in range(-1,-r,-1):
    if l[i][0] not in ans:
    ans.append(l[i][0])
    rev=False
    for i in range(1,r-1):
    if rev==False:
    for j in l[i]:
    if j not in ans:
    ans.append(j)
    rev=True
    else:
    for j in sorted(l[i],reverse=True):
    if j not in ans:
    ans.append(j)
    rev=False
    print(*ans)


  • Kunal

    import java.util.*;
    class Main
    {
    public static void main(String args[])
    {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int m=sc.nextInt();
    int ar[][]=new int[n][m];
    for(int i=0;i<n;i++)
    {
    for(int j=0;j<m;j++)
    {
    ar[i][j]=sc.nextInt();
    }
    }
    for(int i=0;i<n;i++)
    {
    for(int j=0;j<m;j++)
    {
    if(i%2==0)
    System.out.print(ar[i][j]);
    else
    System.out.print(ar[i][m-j-1]);
    }
    }

    }
    }


  • Aman

    JAVA Code —>
    import java.util.*;
    import java.lang.Math;
    public class Main
    {
    public static void printSpiral(int[][] arr){
    int i = 0, sr = 0, sc = 0, er = arr[0].length, ec = arr.length, len = arr.length;
    //sr:startrow, sc:startcolumn, ec:endcolumn, er:endrow
    while( sr < er && sc < ec ){
    for( i = sc ; i < ec ; i++ ){
    System.out.print(arr[sr][i] + " ");
    }
    sr++;
    for( i = sr ; i < er ; i++ ){
    System.out.print(arr[i][ec-1] + " ");
    }
    ec–;
    if( sr = sc ; i– ){
    System.out.print(arr[er-1][i] + ” “);
    }
    er–;
    }
    if( sc = sr ; i–){
    System.out.print(arr[i][sc] + ” “);
    }
    sc++;
    }
    }
    }

    public static void main(String args[]){
    int[][] mat = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
    printSpiral(mat);
    }
    }


  • osama

    Program in java//
    import java.util.Scanner;
    public class Main {
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int a[][]=new int[n][n];
    for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
    a[i][j]=sc.nextInt();
    }
    }
    int i=0,j=0;
    int down = n;
    int up = 0;
    int left= 0;
    int right = n;

    int it=0;
    while(it<n-2){

    while(j<right){
    System.out.print(a[i][j] + " ");
    j++;
    }
    right–;
    j–;
    i++;
    while(i=left){
    System.out.print(a[i][j] + ” “);
    j–;
    }
    left++;
    i–;
    j++;

    while(i>=up){
    System.out.print(a[i][j] + ” “);
    i–;
    }
    i++;
    j++;
    }
    }
    }


  • Prashant

    Program in C :
    #include
    #define R 3
    #define C 6
    int main() {
    int a[R][C] = { { 1, 2, 3, 4, 5, 6 },
    { 7, 8, 9, 10, 11, 12 },
    { 13, 14, 15, 16, 17, 18 } };

    for(int i=0; i<R;i++){
    if (i%2==0)
    {for(int j=0;j=0;m–)
    printf(“%d “,a[i][m]);}
    }
    return 0;
    }


  • Suravi

    a = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]]
    b = []
    for i in range(len(a)):
    for j in range(len(a[0])):
    b.append(a[i][j])
    print(b)