23
Program to Print X Star Pattern in C, C++, and Python
Give the rows of the pattern the task is to print X star Pattern in C, C++, and Python.
Examples:
Example1:
Input:
Given number of rows =10
Output:
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
Example2:
Input:
Given number of rows =10
Given character to print='@'
Output:
Enter some random number of rows = 10
Enter some random character = @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
Program to Print X Star Pattern in C, C++, and Python
Method #1: Using For Loop (Star Character)
Approach:
1) Python Implementation
Below is the implementation:
# Give the number of rows of the x pattern as static input and store it in a variable.
xrows=10
#Loop from 0 to the number of rows using For loop.
for m in range(0, xrows):
# Loop from 0 to the number of rows using another For loop(Inner For loop).
for n in range(0, xrows):
'''Check if the parent loop iterator value is equal to the inner loop
iterator value or if the inner loop iterator value is equal to the number
of rows-parent loop iterator value-1 using If conditional Statement.'''
if(m==n or n==xrows - 1 - m):
#Print the star character with space if the condition is true.
print('*',end=' ')
else:
#Else print space character.
print(' ',end=' ')
#Print the newline character after the end of the inner For loop.
print()
Output:
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
2) C++ Implementation
Below is the implementation:
#include <iostream>
using namespace std;
int main()
{
// Give the number of rows of the x pattern as static
// input and store it in a variable.
int xrows = 10;
// Loop from 0 to the number of rows using For loop.
for (int m = 0; m < xrows; m++) {
// Loop from 0 to the number of rows using another
// For loop(Inner For loop).
for (int n = 0; n < xrows; n++) {
/*Check if the parent loop iterator value is
equal to the inner loop iterator value or if the
inner loop iterator value is equal to the
number of rows-parent loop iterator value-1
using If conditional Statement.*/
if (n == m or n == (xrows - m - 1)) {
// Print the star character with space if
// the condition is true.
cout << "* ";
}
else {
// Else print space character.
cout << " ";
}
}
// Print the newline character after the end of
// the inner For loop.
cout << endl;
}
return 0;
}
Output:
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
3) C Implementation
Below is the implementation:
#include <stdio.h>
int main()
{
// Give the number of rows of the x pattern as static
// input and store it in a variable.
int xrows = 10;
// Loop from 0 to the number of rows using For loop.
for (int m = 0; m < xrows; m++) {
// Loop from 0 to the number of rows using another
// For loop(Inner For loop).
for (int n = 0; n < xrows; n++) {
/*Check if the parent loop iterator value is
equal to the inner loop iterator value or if the
inner loop iterator value is equal to the
number of rows-parent loop iterator value-1
using If conditional Statement.*/
if (n == m || n == (xrows - m - 1)) {
// Print the star character with space if
// the condition is true.
printf("* ");
}
else {
// Else print space character.
printf(" ");
}
}
// Print the newline character after the end of
// the inner For loop.
printf("\n");
}
return 0;
}
Output:
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
Method #2: Using For Loop (User Character)
Approach:
1) Python Implementation
Below is the implementation:
# Give the number of rows as user input using int(input()) and store it in a variable.
xrows = int(input(
'Enter some random number of rows = '))
# Give the Character as user input using input() and store it in another variable.
givencharacter = input('Enter some random character = ')
# Loop from 0 to the number of rows using For loop.
for m in range(0, xrows):
# Loop from 0 to the number of rows using another For loop(Inner For loop).
for n in range(0, xrows):
'''Check if the parent loop iterator value is equal to the inner loop
iterator value or if the inner loop iterator value is equal to the number
of rows-parent loop iterator value-1 using If conditional Statement.'''
if(m == n or n == xrows - 1 - m):
# Print the given character with space if the condition is true.
print(givencharacter, end=' ')
else:
# Else print space character.
print(' ', end=' ')
# Print the newline character after the end of the inner For loop.
print()
Output:
Enter some random number of rows = 10
Enter some random character = @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
2) C++ Implementation
Below is the implementation:
#include <iostream>
using namespace std;
int main()
{
// Give the number of rows
// as user input using cin and store it in a
// variable.
int xrows;
char givencharacter;
cout << "Enter some random number of rows = " << endl;
cin >> xrows;
// Give the Character as user input using cin and store
// it in another variable.
cout << "Enter some random character = " << endl;
cin >> givencharacter;
cout << endl;
// Loop from 0 to the number of rows using For loop.
for (int m = 0; m < xrows; m++) {
// Loop from 0 to the number of rows using another
// For loop(Inner For loop).
for (int n = 0; n < xrows; n++) {
/*Check if the parent loop iterator value is
equal to the inner loop iterator value or if the
inner loop iterator value is equal to the
number of rows-parent loop iterator value-1
using If conditional Statement.*/
if (n == m || n == (xrows - m - 1)) {
// Print the given character with space if
// the condition is true.
cout << givencharacter << " ";
}
else {
// Else print space character.
cout << " ";
}
}
// Print the newline character after the end of
// the inner For loop.
cout << endl;
}
return 0;
}
Output:
Enter some random number of rows =
10
Enter some random character =
@
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
3) C Implementation
Below is the implementation:
#include <stdio.h>
int main()
{
// Give the number of rows
// as user input using scanf and store it in a
// variable.
int xrows;
char givencharacter;
// Give the Character as user input using scanf and
// store it in another variable.
scanf("%d", &xrows);
scanf("%c", &givencharacter);
printf("\n");
// Loop from 0 to the number of rows using For loop.
for (int m = 0; m < xrows; m++) {
// Loop from 0 to the number of rows using another
// For loop(Inner For loop).
for (int n = 0; n < xrows; n++) {
/*Check if the parent loop iterator value is
equal to the inner loop iterator value or if the
inner loop iterator value is equal to the
number of rows-parent loop iterator value-1
using If conditional Statement.*/
if (n == m || n == (xrows - m - 1)) {
// Print the given character with space if
// the condition is true.
printf("%c", givencharacter);
}
else {
// Else print space character.
printf(" ");
}
}
// Print the newline character after the end of
// the inner For loop.
printf("\n");
}
return 0;
}
Output:
10@
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
@ @
23