viernes, 6 de noviembre de 2009

Programa Para Dibujar Rombo O Triangulo Isosceles

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.

No hay comentarios:

Publicar un comentario