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:
(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( ) )
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();
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