Aquí, veremos cómo imprimir una pirámide invertida usando un programa C. A continuación se muestran los ejemplos:
Entrada: 8
Salida:* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * *
* * * * * * *
* * * * * * *
* * * * *
* * *
*Entrada: 5
Salida:* * * * * * * * * * *
* * * * * *
* * * *
* * *
*
Método 1:
El patrón se dividiría en tres partes:
- Se usará un bucle for para imprimir los espacios en blanco
- Se usará un bucle for para imprimir el triángulo desde el lado izquierdo
- Se usará un bucle for para imprimir el resto del triángulo, haciendo el patrón exacto
Algoritmo:
1. Inicialice las variables i, j y espacio para filas, columnas y espacios en blanco, respectivamente.
2. El número de filas aquí es 8, el usuario puede tomar cualquier número.
3. Inicialice un ciclo for que funcionará como el ciclo principal al imprimir el patrón y dirigirá los otros ciclos dentro de él.
4. Inicialice un ciclo for que imprimirá los espacios en blanco dentro del ciclo principal.
5. Ahora, para imprimir el patrón de estrella, primero imprimiremos la media pirámide como se muestra a continuación. Para hacer eso, inicializaremos un ciclo for con la condición dada como 2 * i – 1 , porque el número de estrellas es impar.
6. Después, usaremos otro bucle for para imprimir el resto del patrón.
A continuación se muestra el programa C para imprimir un patrón de pirámide invertida:
C
// C program to print // inverted pyramid // pattern #include <stdio.h> // Driver code int main() { int rows = 8, i, j, space; for (i = rows; i >= 1; --i) { // Loop to print the blank space for (space = 0; space < rows - i; ++space) printf(" "); // Loop to print the half of // the star triangle for (j = i; j <= 2 * i - 1; ++j) printf("* "); // Loop to print the rest of // the star triangle for (j = 0; j < i - 1; ++j) printf("* "); printf("\n"); } return 0; }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Complejidad temporal: O(n 2 )
Espacio Auxiliar: O(1)
Método 2:
Se utilizarán dos bucles for:
- Se usará un bucle for para imprimir los espacios en blanco
- Se usará un bucle for para imprimir las estrellas.
Algoritmo:
- Inicialice las variables i, j y filas.
- El número de filas aquí es 8, el usuario puede tomar cualquier número.
- Inicialice un ciclo for que funcionará como el ciclo principal al imprimir el patrón y controlará los otros ciclos dentro de él.
- Inicialice un ciclo for que imprimirá los espacios en blanco dentro del ciclo principal y se ejecutará de 1 a i.
- Ejecute un ciclo for de 1 a filas * 2 – (i * 2 – 1) , para imprimir las estrellas.
- Pase a la siguiente línea con la ayuda del carácter de nueva línea.
A continuación se muestra el programa C para imprimir un patrón de pirámide invertida:
C
// C program to print // inverted pyramid // pattern #include <stdio.h> // Driver code int main() { int i, j, rows = 8; for (i = 1; i <= rows; i++) { // Loop to print the blank spaces for (j = 1; j < i; j++) { printf(" "); } // Loop to print the stars for (j = 1; j <= (rows * 2 - (2 * i - 1)); j++) { printf("*"); } // Move to the next line to // complete the pattern printf("\n"); } return 0; }
*************** ************* *********** ********* ******* ***** *** *
Complejidad temporal: O(n 2 )
Espacio Auxiliar: O(1)