top of page

Write a program to print the below spiral pattern on the console


Algorithm:

  • STEP 1: START

  • STEP 2: SET i=1,j=1,k=1,l=1,direction=1

  • STEP 3: SET matrix[10][10]

  • STEP 4: REPEAT STEP 5 to 9 UNTIL i is less than 10

  • STEP 5: SET j=0

  • STEP 6: REPEAT STEP 7 and 8 UNTIL j is less than 10

  • STEP 7: SET matrix[i][j]=0

  • STEP 8: SET j=j+1

  • STEP 9: SET i=i+1 // steps for printing the matrix

  • STEP 10: SET i=0

  • STEP 11: REPEAT STEP 12 to 16 UNTIL i is less than 10

  • STEP 12: SET j=0

  • STEP 13: REPEAT STEP 14 and 15 UNTIL j is less than 10

  • STEP 14: PRINT matrix[i][j]

  • STEP 15: SET j=j+1

  • STEP 16: SET i=i+1 //steps for snake

  • STEP 17: SET i=1

  • STEP 18: SET j=0

  • STEP 19: SET k=0

  • STEP 20: REPEAT STEP 21 to 26 UNTIL i is less than 100

  • STEP 21: SET matrix[j][k]=i

  • STEP 22: IF direction=1 IF k+1<10 IF matrix[j][k+1]==0 SET k=k+1 ELSE SET j=j+1 and SET direction =2 ELSE SET j= j+1 and SET direction =2

  • STEP 23: IF direction=2 IF j+1<10 IF matrix[j+1][k]==0 SET j=j+1 ELSE SET k=k-1 and SET direction =3 ELSE SET k= -1 and SET direction =3

  • STEP 24: IF direction=3 IF k-1>=0 IF matrix[j][k-1]==0 SET k=k-1 ELSE SET j=j-1 and SET direction =4 ELSE SET j= j-1 and SET direction =4

  • STEP 25: IF direction=4 IF j-1>=0 IF matrix[j-1][k]==0 SET j=j-1 ELSE SET k=k+1 and SET direction =1 ELSE SET k= k+1 and SET direction =1

  • STEP 26: SET i=i+1 // Steps for printing the matrix

  • STEP 27: SET i=0

  • STEP 28: REPEAT STEP 29 to 33 UNTIL i is less than 10

  • STEP 29: SET j=0

  • STEP 30: REPEAT STEP 31 and 32 UNTIL j is less than 10

  • STEP 31: PRINT matrix[i][j]

  • STEP 32: SET j=j+1

  • STEP 33: SET i=i+1

  • STEP 34: END


Program:

public class pattern  
{  
 public static void main(String[] args) {  
 int lines=4;  
 int i,j,k,l;  
 int space=0;  
 for(i=0;i<lines;i++){// this loop is used to print lines 
 for(j=1;j<=space;j++){// this loop is used to print space in a line 
            System.out.print(" ");  
        }  
 for(j=1;j<=lines;j++){// this loop is used to print numbers in a line 
 if(j<=(lines-i))  
            System.out.print(j);  
 else 
            System.out.print("*");  
        }  
        j--;  
 while(j>0){// this loop is used to print numbers in a line 
 if(j>lines-i)  
            System.out.print("*");  
 else 
            System.out.print(j);  
            j--;  
        }  
 if((lines-i)>9)// this loop is used to increment space 
        space=space+1;  
    System.out.println("");  
    }  
}  


Output:



































Source: Javapoint


The Tech Platform

0 comments
bottom of page