Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ++c en 18 Mayo 2014, 20:47 pm



Título: Una ayudita para terminar de dibujar esta figura con asteriscos
Publicado por: ++c en 18 Mayo 2014, 20:47 pm
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:

Código
  1. #include <stdio.h>
  2.  
  3. /* imprime un rombo con asteriscos */
  4.  
  5. int main() {
  6.  
  7.    int i,k,j,nivel=3;
  8.  
  9.    for( i=0; i<nivel; i++ ){ /* este for es para la altura del triángulo */
  10.  
  11.        for(j=nivel-i; j>0; j--){ /* saco los espacios */
  12.            printf(" ");
  13.        }
  14.        for(k =(i*2)+1; k>0; k--){ /*imprimo los asteriscos por fila */
  15.            printf("*");
  16.        }
  17.        printf("\n");
  18.   } /* Hasta aquí obtengo el primer triángulo */
  19.  
  20.    for( i=0; i<nivel; i++ ){ /* Ahora procedo a obtener el triángulo inferior */
  21.  
  22.        for( j=i+1; j>0 ; j-- ){ /* saco los espacios */
  23.            printf(" ");
  24.        }
  25.        for( k=(nivel*2-i)-1; k>i; k-- ){ /* imprimo los asteriscos */
  26.            printf("*");
  27.        }
  28.        printf("\n");
  29.    }
  30. }
  31.  

Una pista me vendría genial para conseguir terminarlo por mi cuenta.

Saludos y gracias


Título: Re: Una ayudita para terminar de dibujar esta figura con asteriscos
Publicado por: higui en 18 Mayo 2014, 21:35 pm
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


Título: Re: Una ayudita para terminar de dibujar esta figura con asteriscos
Publicado por: Blaster en 18 Mayo 2014, 21:48 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
  1. k = (nivel * 2 - i) - 1;

Saludos


Título: Re: Una ayudita para terminar de dibujar esta figura con asteriscos
Publicado por: ++c en 18 Mayo 2014, 23:36 pm
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!!