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

Exploring Uninformed Search in Artificial Intelligence: Basics and Applications

  In artificial intelligence (AI), search algorithms are essential for solving a variety of problems, from navigating a maze to scheduling tasks. Uninformed search, also known as blind search, is a fundamental category of search techniques where the algorithm has no additional information about the states beyond what is provided in the problem definition to guide the search. This page delves into the basics of uninformed search algorithms, their types, and their applications in AI. Understanding Uninformed Search Uninformed search algorithms explore the search space without any guidance on which paths might lead to the goal more efficiently. They rely solely on the information available from the initial problem setup, such as the start state, goal state, and possible actions. This approach contrasts with informed search algorithms, which utilize heuristics to make more educated guesses about the best path to take. Types of Uninformed Search Algorithms   Several uninformed se...

Artificial Intelligence Playlist

Here's a playlist specifically dedicated to Artificial Intelligence. Make sure to follow it, as a whole lot of new AI videos coming up... 1. Concept of State in AI 2. Uninformed Search in AI 3. Breadth First Search | Part 1 4. Breadth First Seach | Part 2 | Algorithm & Working and many more to come...

Print a Linked List in Reverse Order | Linked List | Java | MyCodingNetwork

  Print a Linked List in Reverse Order After mastering the four standard operations on a Linked List - Creation, Traversal, Insertion, and Deletion - we will now proceed to the next topic: ' Printing a Linked List in Reverse Order '. It serves as a continuation of our previous discussions. We will build upon the topics and ideas that we have previously explored to further our understanding about Linked List. We 'll be using recursive approach for the implementation. For this a separate recursive function would be needed. Concept of stack is also implemented for print statement. Let's discuss the algorithm for the same: Algorithm: Create a function printReverse() , which takes 'head ' of the Linked List as the parameter. Take a temporary node ' cur ' and assign it with the head of the list. Create a base case which checks if cur==null . If base case is TRUE, then function would return . If base case is FALSE, then the statements following that base case ...