Ayuda con un programilla en C++

drummer723
por el 18/11/2009
bueno, pues solo he trabajado con variables numericas, y ahora que me piden usar caracteres no tengo ni idea de por donde tirar...

me piden codificar un programa que me dibuje un triagulo con asteriscos, segun el numero de filas que le meta,,, ej, num filas: 3

....*
...**
..***

los puntos tienen que ser espacios,,,

lo que me lia son los espacios para que quede en plan isosceles :S, tb me dicen que para mejorar el bucle use un modulo recursivo, o tambien que el triangulo aparezca de manera aleatoria en pantalla...

he buscado en google, pero todo lo que sale, o esta incompleto, o esta lleno de gotos (que me han prohibido usar), o estan en C y con cosas que no me valen... o mil cosas, el caso esq nada me ha valiod :S


el que mas me ayuda tiene pagadas un par de cañas cuando coincidamos :D


saludos!
OFERTAS EN TIENDAS Ver todas
  • -25%
    Dixon 14"x6.5" Snare Blue Titanium
    287 €
    Ver oferta
  • -36%
    Sonor DT XS 2000 Drum Throne
    89 €
    Ver oferta
  • -43%
    Masterwork 10" Custom Splash
    47 €
    Ver oferta
SEGUNDA MANO EN MERCASONIC Ver todo
  • Pandrum (Hang) Metalsounds Cromático
    1.700 €
    Ver
  • Caja 14x6,5 OAK Solid Custom Shop Nueva‼️Envío OK‼️
    340 €
    Ver
  • Pad Yamaha KP100
    220 €
    Ver
¿Tienes equipo que ya no usas? Véndelo en Mercasonic
theshadowmaker
por el 18/11/2009
Te lo miro esta noche si puedo, ok?? Salud!!
drummer723
por el 18/11/2009
mil gracias tio :), a ver si con suerte logro algo antes, que siempre sabe mejor lograr las cosas por uno mismo ^^
Sin Cerebro
por el 18/11/2009
Si solo es dibujarlo, así de primeras con una función recursiva se me ocurre:


void dibujarTriangulo(int filasRestantes, int filasDibujadasHastaElMomento)
{ int i;

if (filasRestantes>0)
{ for (i=0;i<filasRestantes;i++)
{ cout<<" ";
}

for (i=0;i<filasDibujadasHastaElMomento+1;i++)
{ cout<<"*";
}

dibujarTriangulo(filasRestantes-1, filasDibujadasHastaElMomento+1);
}
}

No se si era esto a lo que te referias.

PD: Estoy de acuerdo en no usar gotos, a la que se complica un poco el codigo son inentendibles xD
R_Diaz
por el 23/11/2009
El numero de espacios con el que tienes que empezar es igual al numero de filas - 1.

Para cuatro lineas por ejemplo haces un bucle que empiece colocando numerodefilas -1, o sea 3, en una variable de tipo int, por ejemplo "espacios", y luego colocas tantos espacios como diga el valor de esa variable (con cout<<" ") y dentro otro bucle que vaya colocando un asterisco mas cada vez, empezando por 1. Tras acabar ese bucle metes un caracter de retorno de linea (hace mucho que no hago nada en C++, pero supongo que sera cout<<"\n") y volvemos al bucle principal, donde para terminar tendrias que restar 1 a "espacios", hasta que llegue a -1 (ya que la linea con 0 espacios tambien habria que dibujarla).
Nuevo post

Regístrate o para poder postear en este hilo

Foros