Q:

Write a program to print the following pattern

0

Algorithm

  • STEP 1: Start
  • STEP 2: SET i=1,j=1,k=1,l=1,direction=1
  • STEP 3: SET matrix[5][5]
  • STEP 4: REPEAT STEP 5 to 9 UNTIL i is less than 5
  • STEP 5: SET j=0
  • STEP 6: REPEAT STEP 7 and 8 UNTIL j is less than 5
  • 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 5
  • STEP 12: SET j=0
  • STEP 13: REPEAT STEP 14 and 15 UNTIL j is less than 5
  • 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 16
  • STEP 21: SET matrix[j][k]=i
  • STEP 22: IF direction=1
    IF k+1<5
    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<5
    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 5
  • STEP 29: SET j=0
  • STEP 30: REPEAT STEP 31 and 32 UNTIL j is less than 5
  • STEP 31: PRINT matrix[i][j]
  • STEP 32: SET j=j+1
  • STEP 33: SET i=i+1
  • STEP 34: Stop

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

C Program:

#include <stdio.h>  
int main()  
{  
    int matrix[5][5];  
    int i,j,k,l;  
    int direction=1;  
    for(i=0;i<5;i++){  
        for(j=0;j<5;j++){  
           matrix[i][j]=0;   
        }  
    }      
    for(i=1,j=0,k=0;i<=16;i++){  
        matrix[j][k]=i;  
        switch(direction){  
            case 1:if(k+1<5){  
                        if(matrix[j][k+1]==0){  
                            k++;  
                            continue;  
                        }  
                        else{  
                            j++;  
                            direction=2;  
                            continue;  
                        }  
                    }  
                     
                   else{  
                        j++;  
                        direction=2;  
                        continue;  
                    }  
            break;  
            case 2:if(j+1<5){  
                          
                        if(matrix[j+1][k]==0){  
                            j++;  
                            continue;  
                        }  
                        else{  
                            direction=3;  
                            k--;  
                            continue;  
                        }  
                    }  
                    else{  
                            direction=3;  
                            k--;  
                            continue;  
                        }  
            break;  
            case 3:if(k-1>=0){  
                        if(matrix[j][k-1]==0){  
             
                            k--;  
                            continue;  
                        }  
                        else{  
                            direction=4;  
                            j--;  
                            continue;  
                        }  
                    }  
                    else{  
                            direction=4;  
                            j--;  
                            continue;  
                        }  
            break;   
            case 4:if(j-1>=0){  
                        if(matrix[j-1][k]==0){  
         
                            j--;  
                            continue;  
                        }  
                        else{  
                            k++;  
                            direction=1;  
                            continue;  
                        }  
                    }  
                    else{  
                            k++;  
                            direction=1;  
                            continue;  
                        }  
                      
                     
            break;  
        }  
    }      
     for(i=0;i<5;i++){  
        for(j=0;j<5;j++){  
            if(matrix[i][j]==0){  
                printf("\t");  
            }  
            else{  
                printf("%d\t",matrix[i][j]);  
            }       
        }  
        printf("\n");  
    }  
    return 0;  
}  

 

Output:

 

Java Program:

public class pattern{  
     public static void main(String []args){  
    int matrix[][]=new int[5][5];  
    int i,j,k,l;  
    int direction=1;  
    for(i=0;i<5;i++){  
        for(j=0;j<5;j++){  
           matrix[i][j]=0;   
        }  
    }  
         
    for(i=1,j=0,k=0;i<=16;i++){  
        matrix[j][k]=i;  
          
        switch(direction){  
            case 1:if(k+1<5){  
                        if(matrix[j][k+1]==0){  
                            k++;  
                            continue;  
                        }  
                        else{  
                              
                            j++;  
                            direction=2;  
                            continue;  
                        }  
                    }  
                     
                   else{  
                        j++;  
                        direction=2;  
                        continue;  
                    }  
              
              
              
              
            case 2:if(j+1<5){  
                          
                        if(matrix[j+1][k]==0){  
                            j++;  
                            continue;  
                        }  
                        else{  
                            direction=3;  
                            k--;  
                            continue;  
                        }  
                    }  
                    else{  
                            direction=3;  
                            k--;  
                            continue;  
                        }  
                     
              
              
              
            case 3:if(k-1>=0){  
                        if(matrix[j][k-1]==0){  
                              
                            k--;  
                            continue;  
                        }  
                        else{  
                            direction=4;  
                            j--;  
                            continue;  
                        }  
                    }  
                    else{  
                            direction=4;  
                            j--;  
                            continue;  
                        }  
                      
                      
              
              
              
            case 4:if(j-1>=0){  
                        if(matrix[j-1][k]==0){  
                              
                            j--;  
                            continue;  
                        }  
                        else{  
                            k++;  
                            direction=1;  
                            continue;  
                        }  
                    }  
                    else{  
                            k++;  
                            direction=1;  
                            continue;  
                        }           
        }  
    }  
  for(i=0;i<5;i++){  
        for(j=0;j<5;j++){  
            if(matrix[i][j]==0){  
                System.out.print("\t");  
            }  
            else{  
                System.out.print(matrix[i][j]+"\t");   
            }          
        }  
        System.out.println("");  
    }  
     }  
}  

 

Output:

 

C# Program:

using System.IO;  
using System;  
  
public class Program  
{  
   public static void Main(String[] args)  
    {  
        int[,] matrix=new int[5,5];  
    int i,j,k;  
    int direction=1;  
    for(i=0;i<5;i++){  
        for(j=0;j<5;j++){  
           matrix[i,j]=0;   
        }  
    }  
          
    for(i=1,j=0,k=0;i<=16;i++){  
        matrix[j,k]=i;  
          
        switch(direction){  
            case 1:if(k+1<5){  
                        if(matrix[j,k+1]==0){  
                            k++;  
                            continue;  
                        }  
                        else{  
                              
                            j++;  
                            direction=2;  
                            continue;  
                        }  
                    }  
                     
                   else{  
                        j++;  
                        direction=2;  
                        continue;  
                    }  
              
              
              
              
            case 2:if(j+1<5){  
                          
                        if(matrix[j+1,k]==0){  
                            j++;  
                            continue;  
                        }  
                        else{  
                            direction=3;  
                            k--;  
                            continue;  
                        }  
                    }  
                    else{  
                            direction=3;  
                            k--;  
                            continue;  
                        }  
                     
              
              
              
            case 3:if(k-1>=0){  
                        if(matrix[j,k-1]==0){  
                              
                            k--;  
                            continue;  
                        }  
                        else{  
                            direction=4;  
                            j--;  
                            continue;  
                        }  
                    }  
                    else{  
                            direction=4;  
                            j--;  
                            continue;  
                        }  
                      
                      
              
              
              
            case 4:if(j-1>=0){  
                        if(matrix[j-1,k]==0){  
                              
                            j--;  
                            continue;  
                        }  
                        else{  
                            k++;  
                            direction=1;  
                            continue;  
                        }  
                    }  
                    else{  
                            k++;  
                            direction=1;  
                            continue;  
                        }  
                      
                     
              
        }  
    }  
      
    
          
     for(i=0;i<5;i++){  
        for(j=0;j<5;j++){  
            if(matrix[i,j]==0){  
                Console.Write(" \t");  
            }  
            else{  
                Console.Write(matrix[i,j]+"\t");   
            }  
        }  
        Console.WriteLine("\n");  
    }  
    }  
}  

 

Output:

 

PHP Program:

<?php  
$i;  
$j;  
$k;  
$l;  
    $direction=1;  
   $matrix=array();  
    for($i=0;$i<5;$i++){  
        for($j=0;$j<5;$j++){  
            $matrix[$i][$j]=0;  
        }  
    }  
echo "Matrix before snake=";  
echo "\n";  
         
    for($i=0;$i<5;$i++){  
        for($j=0;$j<5;$j++){  
                  echo $matrix[$i][$j];  
                  echo "    ";  
        }  
        echo "\n";  
    }  
    for($i=1,$j=0,$k=0;$i<=16;$i++){  
        $matrix[$j][$k]=$i;  
          
        switch($direction){  
            case 1:if($k+1<5){  
                        if($matrix[$j][$k+1]==0){  
                            $k++;  
                            continue;  
                        }  
                        else{  
                              
                            $j++;  
                            $direction=2;  
                            continue;  
                        }  
                    }  
                     
                   else{  
                        $j++;  
                        $direction=2;  
                        continue;  
                    }  
            break;  
              
              
              
            case 2:if($j+1<5){  
                          
                        if($matrix[$j+1][$k]==0){  
                            $j++;  
                            continue;  
                        }  
                        else{  
                            $direction=3;  
                            $k--;  
                            continue;  
                        }  
                    }  
                    else{  
                            $direction=3;  
                            $k--;  
                            continue;  
                        }  
                     
            break;  
              
              
            case 3:if($k-1>=0){  
                        if($matrix[$j][$k-1]==0){  
                              
                            $k--;  
                            continue;  
                        }  
                        else{  
                            $direction=4;  
                            $j--;  
                            continue;  
                        }  
                    }  
                    else{  
                            $direction=4;  
                            $j--;  
                            continue;  
                        }  
                      
                      
            break;  
              
              
            case 4:if($j-1>=0){  
                        if($matrix[$j-1][$k]==0){  
                              
                            $j--;  
                            continue;  
                        }  
                        else{  
                            $k++;  
                            $direction=1;  
                            continue;  
                        }  
                    }  
                    else{  
                            $k++;  
                            $direction=1;  
                            continue;  
                        }  
            
            break;  
        }  
    }  
      
  echo "Matrix after snake";  
  echo "\n";  
  
     for($i=0;$i<5;$i++){  
        for($j=0;$j<5;$j++){     
        if($matrix[$i][$j]==0){  
        echo "  ";  
        }  
        else{  
        echo $matrix[$i][$j];  
        }  
        echo "    ";  
        if ($matrix[$i][$j]<10){  
        echo "  ";  
        }  
        }  
        echo "\n";  
    }  

 

Output:

 

Python Program:

i=0  
j=0  
k=1  
l=1  
direction=1  
matrix=[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],]  
  
print("Matrix before snake=")  
i=0  
while i<5:  
    j=0  
    while j<5:  
        print(matrix[i][j], end='', flush=True)  
        print("  ", end='', flush=True)  
        if matrix[i][j]<10:  
            print(" ", end='', flush=True)  
        j=j+1  
    print("")  
    i=i+1  
i=1  
j=0  
k=0  
while i<=16:  
    matrix[j][k]=i  
    if direction==1:  
        if k+1<5:  
            if matrix[j][k+1]==0:  
                k=k+1  
            else:  
                j=j+1  
                direction=2  
        else:  
            j=j+1  
            direction=2  
              
    elif direction==2:  
        if j+1<5:  
            if matrix[j+1][k]==0:  
                j=j+1  
            else:  
                direction=3  
                k=k-1  
        else:  
            direction=3  
            k=k-1  
    elif direction==3:  
        if k-1>=0:  
            if matrix[j][k-1]==0:  
                k=k-1  
            else:  
                direction=4  
                j=j-1  
        else:  
            direction=4  
            j=j-1  
    elif direction==4:  
        if j-1>=0:  
            if matrix[j-1][k]==0:  
                j=j-1  
            else:  
                k=k+1  
                direction=1  
        else:  
            k=k+1  
            direction=1  
    i=i+1  
print("Matrix after snake=")  
  
i=0  
while i<5:  
    j=0  
    while j<5:  
        if matrix[i][j]==0:  
            print(" ", end='', flush=True)  
        else:  
            print(matrix[i][j], end='', flush=True)  
        print("  ", end='', flush=True)  
        if matrix[i][j]<10:  
            print(" ", end='', flush=True)  
          
        j=j+1  
    print("")  
    i=i+1  

 

Output:

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions