Skip to main content

Pattern 5 | Java | MyCodingNetwork | Alok Tripathi (Code 7)

 


Problem Statement:

Write a program to a make rectangle by taking the length and breadth as inputs (in the form of rows and columns) 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 Outputs:

 

and 


In the above program, two int variables r and c to define the number of rows and columns respectively.

On line 7 and line 9, following two statements are used to accept the input from the user:

int r=sc.nextInt();

int c=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 c and an updating statement j++.

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

You can see on the line 15 of the program, the if statement has four conditions (i.e., i==1 || j==1 || i==r || j==c) 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 of the matrix.

If none of the four conditions of the 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

 

Hope you liked this explanation, for any doubt or feedback you can comment down in the comment section.

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 ...