ayuda con un programilla en C++

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!
 
mil gracias tio :), a ver si con suerte logro algo antes, que siempre sabe mejor lograr las cosas por uno mismo ^^
 
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
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).
 
Arriba Pie