Entrada destacada

martes, 7 de abril de 2020

Pirámide de Asteriscos C# (Izquierda | Centrado | Derecha)


Seguramente te has encontrado en una situación donde te dicen que practiques problemas de lógica y todo eso, así que tu primer reto es imprimir en pantalla una pirámide de caracteres (normalmente asteriscos), ¿muy fácil, no?


Puedes utilizar un ciclo, ya sea for, while o do-while, el que sea de tu agrado, pero piensa la manera en que lo vas a ordenar para que cumpla su función principal, que es imprimir una pirámide únicamente solicitándole al usuario que te diga cuántos pisos quiere que tenga dicha pirámide.

Código de Dev - C++ - Piramide con asteriscos

Ok, ok, no tan rápido, cerebrito, ¿así de sencillo es imprimir una pirámide?, claro que sí, lo difícil es cuando el reto te dice que lo hagas a la inversa, es decir, de arriba hacia abajo o de izquierda a derecha, todo eso va cambiando conforme el reto va avanzando, así que tu mente debe estar serena y lista para idear una solución.

Frase perrona de amigos programadores y obvio mía: "Si hace lo que debe no importa la cantidad de código que usaste o la manera en que lo programaste".

Sí, señor, cada programador tiene su manera de programar y nadie la debe cambiar, excepto él mismo puede decidir si le gusta la manera en que lo está haciendo. Aunque de igual manera conforme vas avanzando vas descubriendo mejores formas de programar, más limpio, más ordenado y sobre todo más eficiente para su tiempo de ejecución.

Primera prueba: Imprimir una pirámide de asteriscos.

*
**
***
****

Yo tengo una solución a esto, que implica recorrer dos ciclos uno para los renglones y otro para las columnas, si imaginamos una cuadrícula será todavía mejor.


*
**
***
****

Ya con esto podemos notar que debemos formar un cuadrado pero solamente llenar los espacios según su número de iteración, es decir, un asterisco en el primer renglón, dos en el segundo, etcétera.

Respuesta:

Nótese que el primer ciclo va de 1 hasta a, esto representa el número de renglones, mientras que el segundo ciclo representa va de 1 hasta y, esto representa el número de columnas que recorrerá en cada renglón.

Segunda prueba: Imprimir la misma pirámide, pero ahora en lugar de imprimirla sin complejidades, la invertiremos de la siguiente manera.


*


**

***
****
¿Algún problema?, en esta situación claro que hay un problema, ahora hay espacios vacíos antes del primer caracter, pero justo esa es la respuesta, antes de imprimir comenzar a imprimir asteriscos debemos imprimir espacios.

Si lo comparan con el primero, todo quedó igual, solamente se le agregó ese ciclo for que imprime espacios antes de imprimir los asteriscos, estoy seguro de que hay una forma más sencilla o con menos código para hacerlo, pero esta fue la que se me ocurrió para que se note el cambio y sea muy ligero a la vista de un programador principiante.

Prueba final: Pirámide centrada.


*


***

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

Ahora que ya eres todo un experto imprimiendo pirámides y espacios, llegó el momento de la verdad. Aunque parezca broma, lo único que se debe hacer es lo mismo que los espacios, pero ahora en lugar de espacios es imprimir la otra mitad de la pirámide y de nuevo se modifica nada más el primer código y listo. Es sencillamente algo que puede romperte la cabeza si piensas más de la cuenta, DE NUEVA CUENTA REPITO, existe más y mejores maneras de desarrollar estos problemas, pero la más sencilla siempre es la que se nos ocurre a nosotros mismos.


Es increíble que unas cuantas líneas de código puedan hacer un cambio tan radical, pero es perfecto que las cosas salgan como se quieren.

¡DESCARGA FAST!

Todo el código que quieras, ¡GRATIS!, programación totalmente gratuita.
Comenta, opina, exprésate y déjame saber si quieres algo específico, si algo está mal o si no te gusta algo, para hacer que te guste.

1 comentario:

Comentarios, sugerencias y si quieres pedidos haz una donación voluntariamente obligada.