Programa C para imprimir la rotación de 180 grados de la media pirámide invertida

Programa en C para imprimir una rotación de 180 grados del patrón de media pirámide invertida utilizando dos enfoques, es decir, bucle for y bucle while.

Input: Number = 5

Output:

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

Enfoque 1: Usar for Loop

El primer bucle for se usa para identificar el número de filas, el segundo bucle for se usa para manejar los espacios y el tercer bucle for se usa para identificar el número de columnas. Aquí los valores se cambiarán de acuerdo con el primer ciclo for, luego se imprimirá el patrón requerido.

C

// C program to print 180 degree rotation of inverted
// pyramid pattern
#include <stdio.h>
 
int main()
{
    int number = 5;
    int k = 2 * number - 2;
 
    // first for loop is used to identify number of rows
    for (int rows = number; rows > 0; rows--) {
 
        // second for loop is used to handle the spaces
        for (int columns = 0; columns < number - rows;
             columns++)
            printf("  ");
 
        // finding k after each loop
        k = k - 2;
 
        // third for loop is used to identify number of
        // columns and here the values will be changed
        // according to the first for loop
        for (int columns = 0; columns < rows; columns++) {
            // Printing required pattern
            printf("* ");
        }
 
        // printing next line after each row
        printf("\n");
    }
    return 0;
}
Producción

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

Tiempo Complejidad: O(n 2 )
Espacio Auxiliar: O(1)

Enfoque 2: Usando while Loop

Los bucles while verifican la condición hasta que la condición es falsa. Si la condición es verdadera, ingrese al ciclo y ejecute las declaraciones. 

C

// C program to print 180 degree rotation of inverted
// pyramid pattern
#include <stdio.h>
 
int main()
{
    int number = 5;
    int rows = number, columns = 0, k = 0;
    // first while loop is used to identify number of rows
    while (rows > 0) {
 
        // second while loop is used to handle the spaces
        while (k < (number - rows)) {
            printf("  ");
            k++;
        }
        // assign k value to 0 because we need to start from
        // the begining
        k = 0;
       
        // third while loop is used to identify number of
        // columns and here the values will be changed
        // according to the first while loop
        while (columns < rows) {
            printf("* ");
            columns++;
        }
 
        columns = 0;
        rows--;
        printf("\n");
    }
    return 0;
}
Producción

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

Tiempo Complejidad: O(n 2 )
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

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