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
What is the velocity of a 0.100kg car with a momentum of 5 kgm/s?
Cerrena [4.2K]

Answer:

v = 50 m/s

Explanation:

p = mv

5 = 0.1v

v = 50

4 0
3 years ago
READ CAREFULLY! There is a difference between moving and copying files.a. Create a directory named . For example, mine would be
OleMash [197]

Answer:

b

Explanation:

8 0
3 years ago
When was Microsoft released to public schools?
Studentka2010 [4]
April 4
1975...$.$.$.........&.$.$.$....................
8 0
3 years ago
Who has a brainpop acct. can i pls use it !
RSB [31]

Answer:

Союз нерушимый республик свободных

Сплотила навеки Великая Русь.

Да здравствует созданный волей народов

Единый, могучий Советский Союз!

Славься, Отечество наше свободное,

Дружбы, народов надежный оплот!

Знамя советское, знамя народное

Пусть от победы, к победе ведет!

Сквозь грозы сияло нам солнце свободы,

И Ленин великий нам путь озарил.

Нас вырастил Сталин - на верность народу

На труд и на подвиги нас вдохновил.

Славься, Отечество чаше свободное,

Счастья народов надежный оплот!

Знамя советское, знамя народное

Пусть от победы к победе ведет!

Skvoz grozy siialo nam solntse svobody,

I Lenin velikij nam put ozaril.

Nas vyrastil Stalin - na vernost narodu

Na trud i na podvigi nas vdokhnovil.

Slavsia, Otechestvo chashe svobodnoe,

Schastia narodov nadezhnyj oplot!

Znamia sovetskoe, znamia narodnoe

Pust ot pobedy k pobede vedet!

Мы армию нашу растили в сраженьях,

Захватчиков подлых с дороги сметем!

Мы в битвах решаем судьбу поколений,

Мы к славе Отчизну свою поведем!

Славься, Отечество наше свободное,

Славы народов надежный оплот!

Знамя советское, знамя народное

Пусть от победы к победе ведет!Explanation:

8 0
3 years ago
Challenge activity 6.1.3 function call with parameters
Kobotan [32]

Answer:

Printing formatted measurement Define a function PrintFeetinchShort, with int parameters numFeet and numinches, that prints using and "shorthand. End with a newline. Ex: PrintFeetinchShort(5, 8) prints: 5' 8" Hint: Use to print a double quote. ра 1 #include <stdio.hu 2 3 / Your solution goes here */ 4 5 int main(void) 6 int userFeet: 7 int user Inches: 8 9 scanf("%d", BuserFeet): 10 scanf("%d", Suser Inches); 11 12 PrintFeet InchShort(userFeet, user Inches); 13 14 return 0; 15) // Will be run with (5, 8), then (4, 11) Run

5 0
3 years ago
Other questions:
  • Which of the following is an example of a problem that could be attributed to poor ergonomics?
    10·1 answer
  • Write a program that loops one thousand times. add all the even numbers and display the results. add all the odd numbers and dis
    13·1 answer
  • What do radio telescopes use to gather and focus radio waves?
    14·2 answers
  • Okay so, not really a question but whatever it’s been bothering me.
    9·2 answers
  • Which of the following is the correct code to link the text "Sunny Days" to the website www.sunnysunshine.com?
    15·1 answer
  • What is a short sequence of characters that appears at the end of a filename and is preceded by a period called __________
    5·1 answer
  • When reading words using a Scanner object's next method, _________. a. any characters at the beginning of the input that are con
    5·1 answer
  • Number are stored and transmitted inside a computer in the form of​
    6·1 answer
  • ASAP BRAINLIEST!!!
    6·1 answer
  • what is the term for software that is exclusively controlled by a company, and cannot be used or modified without permission?
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!