5) Crear un programa, donde el usuario decida si quiere el dibujo de un triángulo isosceles de "n" filas o un rombo del mismo número de filas.
#include (iostream)
using namespace std;
// Programa para ….
void main()
{
    // variables locales
    int num_lineas;
    const char blanco = ' ' ;
    const char asterisco = '*';
    int opcion=0;
    int lineas=0;
    while(opcion!=1 && opcion!=2)
    {
        cout<<"Que quieres TRIANGULO (1) 0 ROMBO (2)?"<<(endl);
        cin>>(opcion);
    }
    cout<<"Introduce numero de lineas: ";
    cin>>(num_lineas);
       
    if(opcion==1)//dibuja triangulo
    {
        // dibujo de cada linea (bucle externo)
        for (int fila=1; fila <= num_lineas; fila ++)
        {
            //dibuja espacios en blanco (1er bucle interno)
            for (int espacios = num_lineas-fila; espacios >0;espacios --)
                cout<<(blanco);
            // dibuja asteriscos (2º bucle interno)
            for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
                cout<<(asterisco);
   
            cout<<(endl);
        }
    }
    else//dibuja rombo
    {
        if (num_lineas % 2==0)//si numero es par
        {
            lineas=num_lineas/2;
            // dibujo de cada linea (bucle externo)
            for (int fila=1; fila <= lineas; fila ++)
            {
                //dibuja espacios en blanco (1er bucle interno)
                for (int espacios = lineas-fila; espacios >0;espacios --)
                    cout<<(blanco);
                // dibuja asteriscos (2º bucle interno)
                for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
                    cout<<(asterisco);
                cout<<(endl);
            }
            // dibujo de cada linea (bucle externo)
            for (int fila=lineas; fila <= lineas && fila != 0; fila --)
            {
                //dibuja espacios en blanco (1er bucle interno)
                for (int espacios = lineas-fila; espacios >0;espacios --)
                    cout<<(blanco);
                // dibuja asteriscos (2º bucle interno)
                for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
                    cout<<(asterisco);
                cout<<(endl);
            }   
        }
        else//si es impar
        {
            lineas=num_lineas/2;
            // dibujo de cada linea (bucle externo)parte superior
            for (int fila=1; fila <= lineas +1; fila ++)
            {
                //dibuja espacios en blanco (1er bucle interno)
                for (int espacios = lineas-(fila-1); espacios >0;espacios --)
                    cout<<(blanco);
                // dibuja asteriscos (2º bucle interno)
                for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
                    cout<<(asterisco);
                cout<<(endl);
            }
            // dibujo de cada linea (bucle externo)parte inferior
            for (int fila=lineas; fila <= lineas && fila != 0; fila --)
            {
                //dibuja espacios en blanco (1er bucle interno)
                for (int espacios = lineas-(fila-1); espacios >0;espacios --)
                    cout<<(blanco);
                // dibuja asteriscos (2º bucle interno)
                for (int cuenta =1; cuenta < 2 * fila; cuenta ++)
                    cout<<(asterisco);
                cout<<(endl);
            }
        }
    }
}
Nota: Sustituir () de iostream, y eliminar () de asterisco, blanco, endl y blanco.
Suscribirse a:
Enviar comentarios (Atom)
 
No hay comentarios:
Publicar un comentario