C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Write a program to print the following pattern on the console.Algorithm
Solution:C Program:#include <stdio.h> int matrix[10][10]; int main() { int i,j,k,l; int direction=1; printf("Matrix before snake=\n"); for(i=0;i<10;i++){ //this loop is used to print one line of a matrix for(j=0;j<10;j++){// this loop is used to print one element in a line printf("%d\t",matrix[i][j]); } printf("\n"); } for(i=1,j=0,k=0;i<=100;i++){ /*this is loop is used to set martixpattern */ matrix[j][k]=i; switch(direction){ //switch is used to check direction of snake case 1:if(k+1<10){ if(matrix[j][k+1]==0){ k++; //if direction is one and martix[j][k+1] is 0 continue; } else{ j++;//if direction is one but k+1 is not smaller than 10 direction=2; continue; } } else{ //if direction is one and martix[j][k+1] is 0 j++; direction=2; continue; } break; case 2:if(j+1<10){ if(matrix[j+1][k]==0){ /* if direction=2 and matrix[j+1][k]=0 */ j++; continue; } else{ direction=3; k--; // if matrix[j+1][k] is not equal 0 continue; } } else{// if j+1 is not less than 10 direction=3; k--; continue; } break; case 3:if(k-1>=0){ if(matrix[j][k-1]==0){ k--; // if direction=3 and matrix[j][k-1]=0 continue; } else{ direction=4; j--; //if matrix[j][k-1] is not equals to zero continue; } } else{ direction=4; j--;// k-1 is not greater than -0 continue; } break; case 4:if(j-1>=0){ if(matrix[j-1][k]==0){ j--; //if direction=4 and matrix[j-1][k]=0 continue; } else{ k++; // if direction=4 and matrix[j-1][k]!=0 direction=1; continue; } } else{ k++; // if direction=4 but j-1 is not greater than -1 direction=1; continue; } break; } } printf("Matrix after snake=\n"); for(i=0;i<10;i++){ // this loop is used to print one line of matrix for(j=0;j<10;j++){ // this loop is used to print one element of line printf("%d\t",matrix[i][j]); } printf("\n"); } return 0; } Output: PHP Program:<?php $i; $j; $k; $l; $direction=1; $matrix=array(); for($i=0;$i<10;$i++){// this loop is used to access one line of matrix for($j=0;$j<10;$j++){// this loop is used to access one element $matrix[$i][$j]=0; } } echo "Matrix before snake="; echo "<br>"; for($i=0;$i<10;$i++){// this loop is used to access one line of matrix for($j=0;$j<10;$j++){ // this loop is used to access one element echo $matrix[$i][$j]; echo "����"; } echo "<br>"; } for($i=1,$j=0,$k=0;$i<=100;$i++){// this loop is used set pattern $matrix[$j][$k]=$i; switch($direction){// this switch is used to switch the direction case 1:if($k+1<10){ if($matrix[$j][$k+1]==0){ $k++;// if direction=1 and matrix[j][k+1]=0 continue; } else{ $j++;// if direction=1 and matrix[j][k+1]!=0 $direction=2; continue; } } else{ //if k+1 is not smaller than 10 $j++; $direction=2; continue; } break; case 2:if($j+1<10){ if($matrix[$j+1][$k]==0){ $j++; // if direction=2 and matrix[j+1][k]=0 continue; } else{ $direction=3; $k--; //if direction=2 and matrix[j+1][k]!=0 continue; } } else{ $direction=3; $k--;// if j+1 is not smaller than 10 continue; } break; case 3:if($k-1>=0){ if($matrix[$j][$k-1]==0){ $k--; // if direction=3 and matrix[j][k-1]=0 continue; } else{ $direction=4; $j--; // if direction=3 and matrix[j][k-1]!=0 continue; } } else{ $direction=4; $j--; // if k-1 is not greater than -1 continue; } break; case 4:if($j-1>=0){ if($matrix[$j-1][$k]==0){ $j--; // if direction=4 and matrix[j-1][k]=0 continue; } else{ $k++; // if direction=4 and matrix[j-1][k]!=0 $direction=1; continue; } } else{ $k++; //if j-1 is not greater than -1 $direction=1; continue; } break; } } echo "Matrix after snake"; echo "<br>"; for($i=0;$i<10;$i++){ // this loop is used to print one line for($j=0;$j<10;$j++){ //this loop is used to print one element echo $matrix[$i][$j]; echo "��"; if($matrix[$i][$j]<100){ echo "��"; } if ($matrix[$i][$j]<10){ echo "��"; } } echo "<br>"; } Output: Java Program:public class pattern{ public static void main(String []args){ int matrix[][]=new int[10][10]; int i,j,k,l; int direction=1; for(i=0;i<10;i++){ //this loop is used to access one line of matrix for(j=0;j<10;j++){ // this loop is used to access one element matrix[i][j]=0; } } System.out.print("Matrix before snake=\n"); for(i=0;i<10;i++){ // this loop is used to print one line of matrix for(j=0;j<10;j++){//this loop is used to print one element of matrix System.out.print(matrix[i][j]+"\t"); } System.out.println(""); } for(i=1,j=0,k=0;i<=100;i++){// this loop is used to set pattern matrix[j][k]=i; switch(direction){ case 1:if(k+1<10){ if(matrix[j][k+1]==0){ k++; // if direction=1 and matrix[j][k+1]=0 continue; } else{ j++; // if direction=1 and matrix[j][k+1]!=0 direction=2; continue; } } else{ j++; // if k+1 is not smaller than 10 direction=2; continue; } case 2:if(j+1<10){ if(matrix[j+1][k]==0){ j++; //if direction=2 and matrix[j+1][k]=0 continue; } else{ direction=3; k--; //if direction=2 and matrix[j+1][k]!=0 continue; } } else{ direction=3; k--; //j+1 is not smaller than 10 continue; } case 3:if(k-1>=0){ if(matrix[j][k-1]==0){ k--; // if direction=3 and matrix[j][k-1]=0 continue; } else{ direction=4; j--; // if direction=3 and matrix[j][k-1]!=0 continue; } } else{ direction=4; j--; //k-1 is not greater than -1 continue; } case 4:if(j-1>=0){ if(matrix[j-1][k]==0){ j--; //if direction=4 and matrix[j-1][k]=0 continue; } else{ k++; //if direction=4 and matrix[j-1][k]!=0 direction=1; continue; } } else{ k++; //if j-1 is not greater than -1 direction=1; continue; } } } System.out.println("Matrix after snake=\n"); for(i=0;i<10;i++){ //this loop is used to print one line of matrix for(j=0;j<10;j++){ //this loop is used to print one element 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[10,10]; int i,j,k; int direction=1; for(i=0;i<10;i++){ // this loop is used to access one line of a matrix for(j=0;j<10;j++){ //this loop is used to access one element matrix[i,j]=0; } } Console.WriteLine("Matrix before snake=\n"); for(i=0;i<10;i++){ // this loop is used to print one line of matrix for(j=0;j<10;j++){ // this loop is used to print one element Console.Write(matrix[i,j]+"\t"); } Console.WriteLine("\n"); } for(i=1,j=0,k=0;i<=100;i++){// this loop is used to set pattern matrix[j,k]=i; switch(direction){ case 1:if(k+1<10){ if(matrix[j,k+1]==0){ k++; //if direction=1 and matrix[j][k+1]=0 continue; } else{ j++; //if direction=1 and matrix[j][k+1]!=0 direction=2; continue; } } else{ j++; //if k+1 is not smaller than 10 direction=2; continue; } case 2:if(j+1<10){ if(matrix[j+1,k]==0){ j++; //direction=2 and matrix[j+1][k]=0 continue; } else{ direction=3; k--; //direction=2 and matrix[j+1][k]!=0 continue; } } else{ direction=3; k--; //j+1 is not smaller than 10 continue; } case 3:if(k-1>=0){ if(matrix[j,k-1]==0){ k--; // if direction=3 and matrix[j][k-1]=0 continue; } else{ direction=4; j--; // if direction=3 and matrix[j][k-1]!=0 continue; } } else{ direction=4; j--; //if k-1 is not greater than -1 continue; } case 4:if(j-1>=0){ if(matrix[j-1,k]==0){ j--; //if direction=4 and matrix[j-1][k]=0 continue; } else{ k++; //if direction=4 and matrix[j-1][k]!=0 direction=1; continue; } } else{ k++; //if j-1 is not greater than -1 direction=1; continue; } } } Console.WriteLine("Matrix after snake=\n"); for(i=0;i<10;i++){ // this loop is used to print one line for(j=0;j<10;j++){ // this loop is used to print one element Console.Write(matrix[i,j]+"\t"); } Console.WriteLine("\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,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],[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,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<10: #this loop is used to print one line of matrix j=0 while j<10: #this loop is used to print one element print(matrix[i][j], end='', flush=True) print(" ", end='', flush=True) if matrix[i][j]<100: 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<=100: #this loop is used to set pattern matrix[j][k]=i if direction==1: if k+1<10: if matrix[j][k+1]==0: k=k+1 #if direction=1 and matrix[j][k+1]=0 else: j=j+1 #if direction=1 and matrix[j][k+1]!=0 direction=2 else: j=j+1 #if k+1 is not smaller than 10 direction=2 elif direction==2: if j+1<10: if matrix[j+1][k]==0: j=j+1 #if direction=2 and matrix[j+1][k]=0 else: direction=3 k=k-1 #if direction=2 and matrix[j+1][k]!=0 else: direction=3 k=k-1 #if j+1 is not smaller than 10 elif direction==3: if k-1>=0: if matrix[j][k-1]==0: k=k-1 #if direction=3 and matrix[j][k-1]=0 else: direction=4 j=j-1 #if direction=3 and matrix[j][k-1]!=0 else: direction=4 j=j-1 #if k-1 is not greater than -1 elif direction==4: if j-1>=0: if matrix[j-1][k]==0: j=j-1 #if direction=4 and matrix[j-1][k]=0 else: k=k+1 #if direction=4 and matrix[j-1][k]!=0 direction=1 else: k=k+1 #if j-1 is not greater than -1 direction=1 i=i+1 print("Matrix after snake=") i=0 while i<10: #this loop is used to print one line j=0 while j<10: #this loop is used to print one element print(matrix[i][j], end='', flush=True) print(" ", end='', flush=True) if matrix[i][j]<100: print(" ", end='', flush=True) if matrix[i][j]<10: print(" ", end='', flush=True) j=j+1 print("") i=i+1 Output:
Next TopicProgram to Print the Pattern 9
|