1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
tresset_1 [31]
3 years ago
12

Write a function that returns a chessboard pattern ("B" for black squares, "W" for white squares). The function takes a number N

as input and generates the corresponding board.
Input The first line of the input consists of an integer- num, representing the size of the chessboard.
Output Print N lines consist of N space-separated characters representing the chessboard pattern.

Computers and Technology
1 answer:
Kryger [21]3 years ago
8 0

Answer:

Here is the C++ program.

#include <iostream>  //to use input output functions

using namespace std;  // to access objects like cin cout

 

void chessboard(int N){  // function that takes a number N as parameter generates corresponding board

   int i, j;  

   string black = "B";  // B for black squares

   string white = "W"; // W for white squares

   for(i=1;i<=N;i++){  //iterates through each column of the board

       for(j=1;j<=N;j++){  //iterates through each row of the board

           if((i+j)%2==0)  // if sum of i and j is completely divisible by 2

               cout<<black<<" ";  //displays B when above if condition is true

           else  //if (i+j)%2 is not equal to 0

           cout<<white<<" ";  }  // displays W when above if condition is false

      cout<<endl;    }    }  //prints the new line

       

int main(){    //start of the main function

   int num;  //declares an integer num

   cout << "Enter an integer representing the size of the chessboard: ";  //prompts user to enter size of chess board

   cin >> num;  //reads value of num from user

   chessboard(num); } //calls chessboard function to display N lines consist of N space-separated characters representing the chessboard pattern

Explanation:

The function works as follows:

Lets say that N = 2

two string variables black and white are declared. The value of black is set to "B" and value of white is set to "W" to return a chessboard pattern in B and W squares.

The outer loop for(i=1;i<=N;i++) iterates through each column of the chess board. The inner loop  for(j=1;j<=N;j++) iterates through each row of chess board.

At first iteration of outer loop:

N = 2

outer loop:

i=1

i<=N is true because i=1 and 1<=2

So the program enters the body of the outer for loop. It has an inner for loop:

for(j=1;j<=N;j++)

At first iteration of inner loop:

j = 1

j<=N is true because j=1 and 1<=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(1+1) % 2 == 0

(1+1 )% 2 takes the mod of 1+1 with 2 which gives the remainder of the division.

2%2 As 2 is completely divisible by 2 so 2%2 == 0

Hence the if condition evaluates to true. So the statement in if part executes:

cout<<black<<" ";

This prints B on the output screen with a space.

B

The value of j is incremented to 1.

j = 2

At second iteration of inner loop:

j = 2

j<=N is true because j=2 and 2=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(1+2) % 2 == 0

(1+2 )% 2 takes the mod of 1+2 with 2 which gives the remainder of the division.

3%2 As 3 is not completely divisible by 2

Hence the if condition evaluates to false. So the statement in else part executes:

cout<<white<<" ";

This prints W on the output screen with a space.

B W

The value of j is incremented to 1.

j = 3

Now  

j<=N is false because j=3 and 3>2

So the loop breaks and program moves to the outer loop to iterate through the next row.

At second iteration of outer loop:

N = 2

outer loop:

i=2

i<=N is true because i=2 and 2 = 2

So the program enters the body of the outer for loop. It has an inner for loop:

for(j=1;j<=N;j++)

At first iteration of inner loop:

j = 1

j<=N is true because j=1 and 1<=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(2+1) % 2 == 0

(2+1 )% 2 takes the mod of 2+1 with 2 which gives the remainder of the division.

3%2 As 3 is not completely divisible by 2

Hence the if condition evaluates to false. So the statement in else part executes:

cout<<white<<" ";

This prints W on the output screen with a space.

B W

W

The value of j is incremented to 1.

j = 2

At second iteration of inner loop:

j = 2

j<=N is true because j=2 and 2=2

So the program enters the body of the inner for loop. It has an if statement:

if((i+j)%2==0) this statement works as:

if(2+2) % 2 == 0

(2+2 )% 2 takes the mod of 2+2 with 2 which gives the remainder of the division.

4%2 As 4 is completely divisible by 2 so 4%2 == 0

Hence the if condition evaluates to false. So the statement in if part executes:

cout<<black<<" ";

This prints B on the output screen with a space.

B W

W B

The value of j is incremented to 1.

j = 3

Now  

j<=N is false because j=3 and 3>2

So the loop breaks and program moves to the outer loop. The value of outer loop variable i is incremented to 1 so i = 3

N = 2

outer loop:

i=3

i<=N is false because i=3 and 3>2

So this outer loop ends.

Now the output of this program is:

B W

W B

Screenshot of this program along with its output is attached.

You might be interested in
Fryshta is using the Help window in PowerPoint to learn about inserting Smart Shapes into a presentation. She currently has a He
Rainbow [258]

Answer: Pin

Explanation:

Pin button is the button that is used for sticking or saving the ideas from the windows or web on that very place.This feature helps in reviewing or getting the idea back later anytime from the window as per users need. User use this button for saving any food recipe, steps of any process, guidelines etc.

  • According to the question, Fryshta can use pin button from the help window for sticking or pinning the steps of inserting shapes in her presentation.She can have a look at the steps whenever she want.
8 0
3 years ago
What will happen if you type pseudocode in another language's programming environment and try to run the
wariber [46]

Answer:

You will get compile error

Explanation:

7 0
3 years ago
File names should describe what is in the file in a few words
JulijaS [17]

Answer

File names should describe the content of the file.

Explanation

File names are set of words  which are used to uniquely identify computer files which are stored in a file system. This helps one to know the contents of the file which you want to find. When you name these file names you use necessary characters you use descriptive words so that you dont have hard times when searching for them. The naming also is determined by the file system you are using because different systems impose different restrictions on the length of the file names and the allowed characters within file names.

3 0
3 years ago
PLEASE HELP ME! Will report ignorant answers!
kaheart [24]

Answer:

It is important so your computer can function properly. the two things that might happen if they are not compatible are that it might crash your computer and that your computer might not function properly.

5 0
3 years ago
Write a Java statement that declares and creates an array of Strings named Breeds. Your array should be large enough to hold the
Leno4ka [110]

Answer: String[]Breeds = new String[100]

5 0
3 years ago
Other questions:
  • Net Worth is equal to assets minus liabilities. Which event will have the greatest impact (positive or negative) on one's net wo
    5·1 answer
  • Clusters always occur in multiples of what? <br> A.)10 <br> B.)5<br> C.)2 <br> D.)100
    10·2 answers
  • how can you create fades with the smart tool? How can you specify the types of fade curves that are used with the smart tool?
    13·1 answer
  • What is the importance of eliminating marks that classify a master key
    7·1 answer
  • Please Helpppp Me User Interface Design ensures that the interface has elements that are easy to ________________. (Choose all t
    8·1 answer
  • Which task is not possible with VLOOKUP?
    10·2 answers
  • What is the first thing you should do when you discover a computer is infected with malware? The second thing?
    7·1 answer
  • Describe four traditional tehniques for collecting information during analysis.
    11·1 answer
  • Phân tích 5 phương hướng nhiệm vụ phát triển nông -lâm -ngư nghiệp ở nước ta hiện nay
    11·1 answer
  • marion is an iot developer working for a large organization. why does his supervisor want him to stay informed about the network
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!