function for display
Write a function for display. Remove the codes related to display from main
Execute your program and take a screen shot
(must use c++)
***code***
#include <iostream>
using namespace std;
bool queen[4][4]=
{
{true, true, true, true},
{true, true, true, true},
{true, true, true, true},
{true, true, true, true}
};
int main()
{
int i, j, m, n, sum, def;
//******
i =0;
j =1;
sum = i+j;
def = j-i;
// cross out row and col um
for (m=0; m <=3; m++){
queen[ m] [j] =false;
queen[ i][m] =false;
}
// cross out the up- di ag
for (n=0; n<=3; n++){
m=def +n;
if (m>=0 && m<=3)
queen[ n] [ m] =false;
}
// cross out the down- di ag
for (n=0; n<=3; n++)
{
m= sum-n;
if (m>=0 && m<=3)
queen[ n] [m] =false;
}
queen[ i][j] =true;
i =1;
// check row 1 has room avaiIable
for (m=0; m<=3; m++)
{
if (queen[ i][m] ==true)
break;
}
if (m>=0 && m<=3)
j =m;
else
{
cout <<"no solution"<<endl;
exit (0);
}
sum = i +j;
def = j-i;
// cross out row and col umm
for (m=0; m<=3; m++)
{ queen[ m] [j] =false;
queen[ i ][m] =false;
}
// cross out the up- di ag
for (n=0; n<=3; n++)
{
m= sum- n;
if (m>=0 && m<=3)
queen[ n] [ m] =false;
}
queen[i] [j] =true;
//****
i =2;
// check row 2 has room avai I abl e
for (m=0; m<=3; m++)
{
if (queen[ i][m] ==true)
break;
}
if (m>=0 && m<=3)
j=m;
else
{
cout<<"no solution"<<endl;
exit (0);
}
sum=i+j;
def=j-i;
// cross out row and col um
for (m=0; m<=3; m++)
{ queen [m][j]=false;
queen[ i][m]=false;
}
// cross out the up- di ag
for (n=0; n<=3; n++)
{ m=def +n;
if (m>=0 && m<=3)
queen[ n] [m ]=false;
}
// cross out the down- di ag
for (n=0; n<=3; n++)
{ m= sum-n;
if (m>=0 && m<= 3)
queen [n][m]=false;
}
queen[ i][j]= true;
//*****************I=3**********************************
i= 3;
// check row 3 has room available
for (m=0; m<=3; m++)
{
if (queen[ i][m] ==true)
break;
}
if (m>=0 && m<=3)
j=m;
else
{
cout<<"no solution"<<endl;
exit (0);
}
sum=i+j;
def=j-i;
// cross out row and col um
for (m=0; m<=3; m++)
{ queen [m][j]=false;
queen[ i][m]=false;
}
// cross out the up- di ag
for (n=0; n<=3; n++)
{ m=def +n;
if (m>=0 && m<=3)
queen[ n] [m ]=false;
}
// cross out the down- di ag
for (n=0; n<=3; n++)
{ m= sum-n;
if (m>=0 && m<= 3)
queen [n][m]=false;
}
queen[ i][j]= true;
// **********************i=3 ENDS HERE******************************
//display
for (n=0; n<=3; n++)
{ for (m=0; m<=3; m++)
cout <<queen [n][m]<<" ";
cout<<endl;
}
cout <<endl;
return 0;
}
Step by step
Solved in 2 steps with 7 images