Skip to main content

Pattern 6 | Java | MyCodingNetwork | Alok Tripathi (Code 8)



Problem Statement:

Write a program to make a square and mark out its diagonals. Accept the length as input from the user and give output in the following manner:


And

(In simple words, we have printed stars (*) on the boundary positions of the matrix and on the centre positions of the matrix we have printed blank space( ) )

 

THE CODE:


Sample Output:




In the above program, two int variables r to accept the length of square as input.

On line 7, following statement is used to accept the input from the user:

int r=sc.nextInt();

 For taking the input Scanner class has been used, more about Scanner class

Algorithm:

Two for loops are defined:

·        First for loop with counter variable i has initial value 1, conditional statement i less than or equal to r and an updating statement i++.

·        Inside the first loop there is a second for loop, with counter variable j has initial value 1, conditional statement j less than or equal to r and an updating statement j++.

Inside the body of this for loop there is an if-else condition, whose basic aim is to print star (*) on the boundary positions and diagonals of the matrix and print a blank space everywhere else on the matrix.

You can see on the line 13 of the program, the if statement has six conditions (i.e., i==1 || j==1 || i==r || j==c || i==j || i+j==r+1) with logical or operators which means only one condition is sufficient to execute the body of the if statement. Inside its body there is a star (*) print statement. On careful observation, one can easily see that the if statement is true only if the value of i and j points at a boundary position and diagonal position of the matrix.

                                                                               i.            First four conditions are for checking the boundary positions

                                                                             ii.            Last two conditions are for checking the diagonal positions

If none of the six conditions given for if statement is satisfied, then else's body will execute a print statement to print blank space.

·        After the second loop terminates there is a print statement who's only work is to change the row in the output after the second for loop terminates.

·        Again, the first for loop’s condition is checked and if it is true then the algorithm continues.

©2022 Alok Tripathi. All rights reserved

#MyCodingNetwork aka MCN

Popular posts from this blog

Pattern 4 | Java | MyCodingNetwork | Alok Tripathi (Code 6)

Problem Statement: Write a program to draw the following pattern where number of rows are decided by the user and given to the program as input:         *       * *     * * *   * * * * * * * * * * * * * * * (Take a variable n which takes the number of rows as input from the user, For above example, n=6) OUTPUT: The above program is the extension of the previous program (Pattern #3). This program asks the user to input the number of rows that it wants in the program. For accepting the input, the program has Scanner class which has been extracted from the package java.util . In this program, we will learn how to receive data from the user. If you remember in three previous patterns, the program itself had the input of number of rows where n=8, but now the user will tell the program how many rows are to be added.   Simplification 1.     In Line 1, the java.util  package has been imported, to use the Scanner cl...

Binary Search | The-Algorithm-Drive | MyCodingNetwork

Binary Search The next algorithm, we are going to study is Binary Search . As the name suggests, it is a searching algorithm. It is one of the very famous searching techniques. Unlike its counterpart linear search, it is way more advanced.  Time complexity of linear search is O(N) whereas that of binary search is O (log N). Source Code: Output Number Found at index =5 Working Let’s come on to the working of the algorithm, as you can see in the above program, we need a sorted array to perform binary search algorithm. 1.    Here, bin function in the above program it accepts 4 parameters, that is, the array arr , lower index low , higher index high and the searching number sn . 2.    Next, we have a do-while loop to check if high is greater than or equal to low (high>=low). If at any point of iteration this condition is not satisfied, it means the searching number sn does not exist in the array. Following is the algorithm for binary search: while ...