Programa C para imprimir pirámide invertida

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:

  1. Se usará un bucle for para imprimir los espacios en blanco
  2. Se usará un bucle for para imprimir el triángulo desde el lado izquierdo
  3. 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.

Inverted Pyramid pattern

 

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;
}
Producción

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

Complejidad temporal: O(n 2 )

Espacio Auxiliar: O(1)

Método 2:

Se utilizarán dos bucles for:

  1. Se usará un bucle for para imprimir los espacios en blanco
  2. Se usará un bucle for para imprimir las estrellas.

Algoritmo:

  1. Inicialice las variables i, j y filas.
  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 controlará los otros ciclos dentro de él.
  4. Inicialice un ciclo for que imprimirá los espacios en blanco dentro del ciclo principal y se ejecutará de 1 a i.
  5. Ejecute un ciclo for de 1 a filas * 2 – (i * 2 – 1) , para imprimir las estrellas.
  6. 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;
}
Producción

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

Complejidad temporal: O(n 2 )

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

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