Programa C++ para imprimir el patrón de pirámide de estrella hueca invertida

Dado el valor de R (número de filas), escribe un programa en C++ para imprimir la pirámide hueca invertida usando estrellas y espacios en blanco.

Ejemplos:

Input: R = 5

Output:

*********
 *     *
  *   *
   * *
    *

Input: R = 10

Output:

*******************
 *               *
  *             *
   *           *
    *         *
     *       *
      *     *
       *   *
        * *
         *

Algoritmo:

  • Al principio, tome el número de filas como entrada.
  • El siguiente paso es implementar el bucle anidado para imprimir este patrón.
  • Se requiere una variable de mantenimiento de espacio (sp) para mantener el espacio al principio.
  • Calcule la última columna por Última columna = (longitud _de_fila * 2 – (2 * Fila_actual – 1))
  • Imprima una estrella ( «*» ) en la primera columna y la última columna y continúe con la siguiente fila.

A continuación se muestra el programa C++ para implementar el enfoque anterior:

C++

// C++ program to Print a Inverted
// hollow Star Pyramid
#include <bits/stdc++.h>
using namespace std;
 
void print_patt(int R)
{
  // To iterate through the rows
  for(int i = 1; i <= R; i++)
  {
    // To print the  beginning spaces
    for(int sp = 1;
            sp <= i - 1 ; sp++)
    {
      cout << " ";
    }
       
    // Iterating from ith column to
    // last column (R*2 - (2*i - 1))
    int last_col = (R * 2 - (2 * i - 1));
         
    // To iterate through column
    for(int j = 1; j <= last_col; j++)
    {
      // To Print all star for first
      // row (i==1) ith column (j==1)
      // and for last column
      // (R*2 - (2*i - 1))
      if(i == 1)
        cout << "*";
      else if(j == 1)
        cout << "*";
      else if(j == last_col)
        cout << "*";
      else
        cout << " ";
    }
         
    // After printing a row proceed
    // to the next row
    cout << "\n";
  }
}
 
// Driver code
int main()
{
  // Number of rows
  int R = 5;
  print_patt(R);
  return 0;
}
Producción

*********
 *     *
  *   *
   * *
    *

Complejidad de tiempo: O(R*last_col), donde R representa la fila y last_col representa la última columna.

Espacio auxiliar: O(1), no se requiere espacio adicional, por lo que es una constante.

Publicación traducida automáticamente

Artículo escrito por shoumikmanna 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 *