Open In App

C++ Program to Print Cross or X Pattern

Last Updated : 30 Oct, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Given a number n, we need to print an X pattern of size n.

Input : n = 3
Output :
$ $
$
$ $

Input : n = 5
Output :
$ $
$ $
$
$ $
$ $

Input : n = 4
Output :
$ $
$$
$$
$ $

We need to print n rows and n columns. So we run two nested loops. The outer loop prints all rows one by one (runs for i = 1 to n). The inner loop (runs for j = 1 to n) runs all columns of current row. Now a row can contain spaces and ‘$’. How do we decide where to put space and where ‘$’. For i = 1 : First and last column should contain ‘$’ For i = 2 : Second and second last column should contain ‘$’ In general, i-th and (n + 1 – i)-th columns should contain ‘$’ 

C++14




// Program to make an X shape $ pattern in c++
#include <iostream>
using namespace std;
 
void printPattern(int& n)
{
    // Print all rows one by one
    for (int i = 1; i <= n; i++) {
 
        // Print characters of current row
        for (int j = 1; j <= n; j++) {
            // For i = 1, we print a '$' only in
            // first and last columns
            // For i = 2, we print a '$' only in
            // second and second last columns
            // In general, we print a '$' only in
            // i-th and n+1-i th columns
 
            if (j == i || j == (n + 1 - i))
                cout << "$";
            else
                cout << " ";
        }
 
        // Print a newline before printing the
        // next row.
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    // n denotes the number of lines in which
    // we want to make X pattern
    int n = 6;
 
    // Function Call
    printPattern(n);
    return 0;
}


Output

$    $
 $  $ 
  $$  
  $$  
 $  $ 
$    $

Time Complexity: O(n2), where n represents the given input.
Auxiliary Space: O(1), no extra space is required, so it is a constant.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads