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