Programa C++ para imprimir patrones cruzados o X

Dado un número n, necesitamos imprimir un patrón X de tamaño n.

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

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

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

Necesitamos imprimir n filas y n columnas. Así que ejecutamos dos bucles anidados. El bucle exterior imprime todas las filas una por una (se ejecuta para i = 1 a n). El ciclo interno (se ejecuta para j = 1 a n) ejecuta todas las columnas de la fila actual. Ahora una fila puede contener espacios y ‘$’. ¿Cómo decidimos dónde poner espacio y dónde ‘$’? Para i = 1: la primera y la última columna deben contener ‘$’ Para i = 2: la segunda y la penúltima columna deben contener ‘$’ En general, la i-ésima y (n + 1 – i)-ésima columna deben contener ‘$’ 

CPP

// Program to make an X shape $ pattern in c++
#include <iostream>
using namespace std;
 
int main()
{
    // n denotes the number of lines in which
    // we want to make X pattern
    int n;
     
    // i denotes the number of rows
    cout << "Enter the value of n \n";
    cin >> 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;
    }
    return 0;
}

Complejidad de tiempo: O(n 2 ), donde n representa la entrada dada.
Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.

Publicación traducida automáticamente

Artículo escrito por vanshgaur14866 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *