Las modificaciones necesarias son mínimas, se trata simplemente de comenzar con el número de línea igual al del total de líneas, mientras que en el final del bucle while en lugar de sumar una línea se le resta (en el código se pueden localizar por ser las líneas que están a continuación de las de los comentarios).
De esta forma con dos cambios mínimos se puede reutilizar el código anterior, sin embargo también se podría reescribir el código para que quedase más claro. Eso lo veremos en otro post.
Enlace a compilador web CodePad
http://codepad.org/NMvMY8EP
#include <stdio.h> #include <stdlib.h> int main() { int total_lineas = 10, nlinea = 0, nast = 0, nesp = 0; printf ("Piramide de asteriscos:\n"); printf ("Indique cuantos pisos desea que tenga la piramide (Maximo 40 pisos): "); scanf("%d", &total_lineas); // inicializo nlinea al numero total de lineas nlinea = total_lineas; while (nlinea > 0) { while (nesp < total_lineas - nlinea) { printf(" "); nesp++; } while (nast < ((nlinea * 2) - 1)) { printf("*"); nast++; } nesp = 0; nast = 0; //resto una linea cada vez nlinea--; printf("\n"); } return 0; }
No hay comentarios:
Publicar un comentario