Aprende a resolver un algoritmo presente en muchas currículas de universidad, de primeros años de ingeniería de sistemas, informática y ciencias de la computación! 😉
Enunciado
Crear un método al que se le ingrese el número de líneas y dibuje un triángulo hecho con asteriscos.
Este algoritmo comúnmente puede pedirse de dos formas:
- Triángulo alineado a la izquierda, es decir tendría la forma de un triángulo rectángulo.
Por ejemplo, si se ingresa un parámetro 6 nos retorna:
- Triángulo centrado, es decir se asemejaría a uno equilátero.
Por ejemplo, si se ingresa un parámetro 5 nos retornaría:
Hey inténtalo tú primero, no saltes directo a la solución crack! 🤔👀
Algoritmo
Para resolver este ejercicio hacer lo siguiente:
- Iterar por cada línea que nos piden para el triángulo.
- En cada iteración vamos a tener que iterar nuevamente, es decir vamos a crear una iteración anidada para calcular los espacios y los asteriscos, según sea el caso que piden triángulo centrado o alineado a la izquierda. (el alineado a la izquierda no necesitará espacios)
- Ir almacenando los caracteres de espacios (para el caso del triángulo centrado) y de asteriscos e ir acumulándolos y concatenarlos.
- Aprovechar la iteración principal para ir imprimiendo en pantalla los asteriscos.
Aprovecho la ocasión para recordarte que aprender estructuras de datos es muy importante. En esta entrada te hablo de las estructuras de datos en .NET 😉
Código
public void DrawCenterTriangle(int lines)
{
string response;
for (int i = 0; i < lines; i++)
{
response = "";
int quantity = 2 * i + 1;
int spaces = lines - i - 1;
for (int j = spaces; j >= 0; j--)
{
response += " ";
}
for (int k = 1; k <= quantity; k++)
{
response += "*";
}
Console.WriteLine(response);
}
}
public void DrawLeftTriangle(int lines)
{
string response;
for (int i = 1; i <= lines; i++)
{
response = "";
for (int j = 1; j <= i; j++)
{
response += "*";
}
Console.WriteLine(response);
}
}
Recuerda que esta entrada es de la serie de artículos Algoritmos notables, los cuales los subo a este repo, puedes visitarlo y descubrir más algoritmos 😉
Si te ha fascinado esta entrada compártela mi crack 🫡