#include<iostream> using std::cout; using std::cin; using std::endl; int tamanio=0;//tamanio del rombo

int espacios;//cantidad de espacios a imprimir en cada linea int main(){ cout<<"Ingrese el tamanio del rombo:"<<endl; cin>>tamanio;//contiene el tamanio del ancho y alto del rombo if(tamanio%2==0){ cout<<"Con el numero ingresado no se puede formar un rombo exacto por lo que se le restará 1"<<endl;//Si el numero ingresado es par espacios=(tamanio+1)/2;//esta operacion es para que no se trunque el valor que s e encargará de controlar la mitad horizontal y vertical del rombo } else{//si el numero ingresado es impar espacios=(tamanio+2)/2; tamanio=tamanio+1; } for(int j=0;j<tamanio;j++){ if(j<espacios){// para imprimir la mitad de arriba del rombo for(int i=0;i<espacios-j;i++){ cout<<" "; } for(int h=0;h<(j*2)-1;h++){ cout<<"*"; } } else if(j==espacios)//se imprime la linea de la mitad de asteriscos for(int h=0;h<tamanio-1;h++){ cout<<"*"; } else if(j>espacios){ //para imprimir de la mitad del rombo para abajo for(int h=0;h<j-espacios;h++){ cout<<" "; } for(int i=0;i<((tamanio-j)*2)-1;i++){ cout<<"*"; } } cout<<endl;//imprime una nueva linea } getchar(); getchar(); }

Sign up to vote on this title
UsefulNot useful