Programa C++ para imprimir un patrón triangular

Aquí veremos cómo imprimir patrones de triángulos usando un programa C++. Hay 4 patrones discutidos aquí:

  1. Triángulo rectángulo.
  2. Triángulo Rectángulo Invertido.
  3. Triángulo equilátero.
  4. Triángulo Equilátero Invertido.
  5. Triángulo rectángulo invertido reflejado.

Comencemos discutiendo cada uno de estos en detalle.

Triángulo rectángulo

A continuación se muestran los ejemplos para el triángulo rectángulo:

Entrada: 4
Salida: 
*
* *
* * *
* * * *

Entrada: 5
Salida: 
*
* *
* * *
* * * *
* * * * *

En el patrón anterior, se puede observar que

i -ésima fila tiene i elementos

A continuación se muestra el programa C++ para imprimir el triángulo rectángulo:

C++

// C++ program to print
// right triangle
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
  int n = 5;
   
  // ith row has i elements
  for(int i = 1; i <= n; i++)
  {
    for(int j = 1; j <= i; j++)
      cout << "* ";
    cout << endl;
  } 
  return 0;
}
Producción

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

Complejidad de tiempo: O(n^2)
Espacio auxiliar: O(1)

Triángulo Recto Invertido

A continuación se muestran los ejemplos de triángulos rectángulos invertidos:

Entrada: 5
Salida:
* * * * *
* * * *
* * *
* *
*

Entrada: 6
Salida:
* * * * * * *
* * * * *
* * * *
* *
* *
*

En este ejemplo, se puede observar que si hay un total de n filas en el triángulo, entonces:

i -ésima fila tiene n-i+1 elementos

A continuación se muestra el programa C++ para imprimir un triángulo rectángulo invertido:

C++

// C++ program to print inverted
// right triangle
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
  int n = 5;
   
  // ith row has n-i+1 elements
  for(int i = 1; i <= n; i++)
  {
    for(int j = 1; j <= n - i + 1; j++)
      cout << "* ";
    cout << endl;
  }
  return 0;
}
Producción

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

Complejidad de tiempo: O(n^2)
Espacio auxiliar: O(1)

Triángulo equilátero

A continuación se muestran ejemplos de un triángulo equilátero:

 Entrada: 5
Salida:
     *
   * *
  * * *
 * * * *
* * * * *

Entrada: 6
Salida:
     *
    * *
   * * *
  * * * * *
 * * * * *
* * * * *

En este ejemplo, se puede observar que si hay n filas en el patrón, entonces:

i -ésima fila tiene i elementos y tiene (n – i) espacios iniciales

A continuación se muestra el programa C++ para imprimir un triángulo equilátero:

C++

// C++ program to print
// equilateral triangle
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
  int n = 5;
   
  // ith row has n-i leading spaces
  // and i elements
  for(int i = 1; i <= n; i++)
  {
    // n-i leading spaces
    for(int j = 0; j < n - i; j++)
        cout<<" ";
       
    // i elements
    for(int j = 1; j <= i; j++)
      cout<<"* ";
    cout<<endl;
  }
  return 0;
}
Producción

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

Complejidad de tiempo: O(n^2)
Espacio auxiliar: O(1)

Triángulo Equilátero Invertido

A continuación se muestran ejemplos de un triángulo equilátero invertido:

Entrada: 5
Salida:
* * * * *
 * * * *
  * * *
   * *
    *

Entrada: 6
Salida:

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

Se puede observar si hay n filas en el patrón entonces:

i -ésima fila tiene n-i+1 elementos y i-1 espacios iniciales

A continuación se muestra el programa C++ para imprimir un triángulo equilátero invertido:

C++

// C++ program to print an
// inverted equilateral triangle
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
  int n = 5;
   
  // ith row has n-i+1 elements
  for (int i = 1; i <= n; i++)
  {
    // leading spaces
    for (int j = 1; j < i; j++)
      cout << " ";
    for (int j = 1; j <= n - i + 1; j++)
      cout << "* ";
    cout << endl;
  }
  return 0;
}
Producción

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

Complejidad de tiempo: O(n^2)
Espacio auxiliar: O(1)

Triángulo rectángulo invertido reflejado

A continuación se muestran los ejemplos de triángulos rectángulos reflejados invertidos:

Entrada: 5
Salida:
* * * * *
  * * * *
    * * *
      * *
        *

Entrada: 6
Salida:
* * * * * * *
  * * * * *
    * * * *
      * *
        * *
          *

Se puede observar si hay n filas en el patrón entonces:

i -ésima fila tiene n-i+1 elementos y 2*(i-1) espacios iniciales

A continuación se muestra el programa C++ para imprimir un triángulo rectángulo invertido:

C++

// C++ program to print a
// inverted mirrored right triangle
#include <iostream>
using namespace std;
 
// Driver code
int main()
{
  int n = 5;
   
  // ith row has n-i+1 elements
  for (int i = 1; i <= n; i++)
  {
    // leading spaces
    for (int j = 1; j < i; j++)
      cout << "  ";
    for (int j = 1; j <= n - i + 1; j++)
      cout << "* ";
    cout << endl;
  }
  return 0;
}
Producción

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

Complejidad de tiempo: O(n^2)
Espacio auxiliar: O(1)

Publicación traducida automáticamente

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