Hola amigos,
haciendo ejercicios me he topado con dibujar un rombo, me gustaría me dieran alguna pista para poder terminarlo, está casi listo pero no llego a ver la parte del triángulo inferior como terminar de rellenarlo adecuadamente. Es el último bucle for el que no llego a interpretarlo para que me imprima satisfactoriamente.
*
***
*****
***
**
*
Este es el código que llevo:
#include <stdio.h>
/* imprime un rombo con asteriscos */
int main() {
int i,k,j,nivel=3;
for( i=0; i<nivel; i++ ){ /* este for es para la altura del triángulo */
for(j=nivel-i; j>0; j--){ /* saco los espacios */
printf(" ");
}
for(k =(i*2)+1; k>0; k--){ /*imprimo los asteriscos por fila */
printf("*");
}
printf("\n");
} /* Hasta aquí obtengo el primer triángulo */
for( i=0; i<nivel; i++ ){ /* Ahora procedo a obtener el triángulo inferior */
for( j=i+1; j>0 ; j-- ){ /* saco los espacios */
printf(" ");
}
for( k=(nivel*2-i)-1; k>i; k-- ){ /* imprimo los asteriscos */
printf("*");
}
printf("\n");
}
}
Una pista me vendría genial para conseguir terminarlo por mi cuenta.
Saludos y gracias
Hola, yo lo que haria es un contador simple.
vos tenes la altura que estaran dadas por el for. ahora bien, es mas simple de lo q crees...
do procedure
for i=1 to 4
n=0+1
print n
endfor
for i=1 to 4
n=n-1
print n
endfor
en procedure
sdos Higui
Cita de: ++c en 18 Mayo 2014, 20:47 PM
Es el último bucle for el que no llego a interpretarlo para que me imprima satisfactoriamente.
La inicialización cambiala por esta
k = (nivel * 2 - i) - 1;
Saludos
Gracias Blaster!!
Era lo que buscaba!! Me ayudaste a interpretar esa parte de código.
Lo dejo anotado correctamente en el primer post por si le viene bien a otro usuario.
Saludos!!