#include <iostream>
using namespace std;
void leerDatos(int& lado, int& pos);
void cuadrado(int lado, int pos);
void rombo(int lado, int pos);
int main()
{
int lado, posicion;
leerDatos(lado, posicion);
if (lado % 2 == 0) cuadrado(lado, posicion);
else rombo(lado, posicion);
return 0;
}
void leerDatos(int& lado, int& pos)
{
do {
cout << "\nIngrese un numero entre 2 y 99: ";
cin >> lado;
if (lado < 2 || lado > 99)
cout << "\n\nDEBE ESTAR EN EL RANGO 2 - 99" << endl;
} while (lado < 2 || lado > 99);
do {
cout << "\nIngrese la posicion (1: Derecha, 2: Centro, 3: Izquierda): ";
cin >> pos;
if (pos < 1 || pos > 3)
cout << "\n\nDEBE ESTAR EN EL RANGO 1 - 3" << endl;
} while (pos < 1 || pos > 3);
}
void cuadrado(int lado, int pos)
{
int margen = lado * (pos - 1) * 2;
cout << endl;
for (int i = 1; i <= lado; i++)
{
for (int j = 0; j < margen; j++)
cout << " ";
for (int k = 0; k < lado; k++)
cout << "* ";
cout << endl;
}
}
void rombo(int lado, int pos)
{
int margen = lado * (pos - 1) * 2;
cout << endl;
for ( int k = 1; k <= lado; k++)
{
for (int m = 0; m < margen; m++)
cout << " ";
for (int j = 1; j <= lado-k; j++)
cout << " ";
for (int j = 2; j <= k; j++)
cout << " *";
cout << endl;
}
for ( int k = 1; k <= lado-1; k++ )
{
for (int m = 0; m < margen; m++)
cout << " ";
for (int j = 1; j <= k; j++)
cout << " ";
cout << "*";
for (int j = 1; j <= (lado-1)-k; j++)
cout << " *";;
cout << endl;
}
}