Una ayudita para terminar de dibujar esta figura con asteriscos

Iniciado por ++c, 18 Mayo 2014, 20:47 PM

0 Miembros y 1 Visitante están viendo este tema.

++c

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

higui

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

Blaster

#2
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

Código (cpp) [Seleccionar]
k = (nivel * 2 - i) - 1;

Saludos

++c

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!!