Aquí veremos cómo imprimir patrones de triángulos usando un programa C++. Hay 4 patrones discutidos aquí:
- Triángulo rectángulo.
- Triángulo Rectángulo Invertido.
- Triángulo equilátero.
- Triángulo Equilátero Invertido.
- 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; }
* * * * * * * * * * * * * * *
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; }
* * * * * * * * * * * * * * *
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; }
* * * * * * * * * * * * * * *
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; }
* * * * * * * * * * * * * * *
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; }
* * * * * * * * * * * * * * *
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