131k views
3 votes
Input a number [1-50] representing the size of the shape and then a character [x,b,f] which represents the shape i.e. x->cross, b->backward slash, or f->forward slash. Here are 4 examples which give the 2 inputs with the shape of the result directly below. Note: Even number outputs are different from odd.

1 Answer

4 votes

Answer:

C++ code given below with appropriate comments

Step-by-step explanation:

pattern.cpp

#include<iostream>

using namespace std;

void printCross(int n)

{

int i,j,k;

if(n%2) //odd number of lines

{

for(int i=n;i>=1;i--)

{

for(int j=n;j>=1;j--)

j==(n-i+1))

cout<<j;

else

cout<<" ";

cout<<"\\";

}

}

else //even number of lines

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

{

if(j==i || j==(n-i+1))

{

cout<<" "<<j<<" ";

}

else

cout<<" ";

}

cout<<"\\";

}

}

}

void printForwardSlash(int n)

{

if(n%2)

{

for(int i=n;i>=1;i--)

{

for(int j=n;j>=1;j--)

{

if(j==n-i+1)

{

cout<<j;

}

else

cout<<" ";

}

cout<<"\\";

}

}

else

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

{

if(j==(n-i+1))

{

cout<<j;

}

else

cout<<" ";

}

cout<<"\\";

}

}

}

void printBackwardSlash(int n)

{

if(n%2) // odd number of lines

{

for(int i=n;i>=1;i--)

{

for(int j=n;j>=1;j--)

{

if(j==i)

{

cout<<j;

}

else

cout<<" ";

}

cout<<"\\";

}

}

else //even number of lines

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

{

if(j==i)

{

cout<<j;

}

else

cout<<" ";

}

cout<<"\\";

}

}

}

int main()

ch=='B')

printBackwardSlash(num);

else

cout<<"\\Wrong input"<<endl;

return 0;

User DreadPirateShawn
by
4.8k points