C++ Program to Print Cross or X Pattern
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.
Contact Us