Programadortico.com

miércoles, 10 de junio de 2015

Rombos Concéntricos en JAVA (TexPad)

  1 /******************************************************************
  2  * Programa: Rombos Concéntricos
  3  * Autor: Cadtuxjack
  4  * Fecha: 14 de noviembre de 2010
  5  *
  6  * Descripción:
  7  *   Imprime rombos concéntricos dibujados con los caracteres
  8  *   '@', 'o', y '.'
  9  *   El programa solicita como dato de entrada, la longitud
 10  *   del lado del rombo más externo (es decir, su número de
 11  *   caracteres)
 12  *   De fuera hacia dentro, el primer carácter será '@', el
 13  *   segundo '.', el tercero 'o', el cuarto nuevamente '.', el
 14  *   quinto '@', el sexto '.', el séptimo 'o', y así sucesivamente.
 15  *   El tamaño solo podrá estar comprendido entre 1 y 20.
 16  *******************************************************************/
 17  
 18  #include <stdio.h>
 19  
 20  int main()
 21  {
 22      int lado,resto;
 23      int posicion;
 24  
 25      /* Solicitar el dato de entrada */
 26      printf("Lado del rombo?");
 27      scanf("%d",&lado);
 28      printf("\n");
 29  
 30      /* Comprobar condición general e iniciar programa */
 31      if ((lado>=1)&&(lado<=20))
 32      {
 33  
 34          /* Triangulo superior izquierdo del rombo */
 35          for (int altura=1; altura<=lado; altura++)
 36          {
 37              /* Espacios en blanco parte superior */
 38              for (int indice=1; indice<=lado-altura; indice++)
 39              {
 40                  printf(" ");
 41              }
 42              posicion=4;
 43              for (int indice=1; indice<=altura; indice++)
 44              {
 45                  resto=posicion%4;
 46                  if (resto==0)
 47                  {
 48                      printf ("@");
 49                  }
 50                  else if ((resto==1)||(resto==3))
 51                  {
 52                      printf (".");
 53                  }
 54                  else
 55                  {
 56                      printf ("o");
 57                  }
 58                  posicion++;
 59              }
 60  
 61              /* Triangulo superior derecho del rombo */
 62              posicion=altura;
 63              for (int indice=1; indice<=altura-1; indice++)
 64              {
 65                  resto=posicion%4;
 66                  if (resto==0)
 67                  {
 68                      printf ("o");
 69                  }
 70                  else if ((resto==1)||(resto==3))
 71                  {
 72                      printf (".");
 73                  }
 74                  else
 75                  {
 76                      printf ("@");
 77                  }
 78                  posicion--;
 79              }
 80              printf("\n");
 81          }
 82  
 83          /* Triangulo inferior izquierdo del rombo */
 84          for (int altura=lado; altura>=lado-altura-lado; altura--)
 85          {
 86              /* Espacios en blanco parte inferior */
 87              for (int indice=lado-1; indice>=altura-1; indice--)
 88              {
 89                  printf(" ");
 90              }
 91              posicion=4;
 92              for (int indice=1; indice<=altura-1; indice++)
 93              {
 94                  resto=posicion%4;
 95                  if (resto==0)
 96                  {
 97                      printf ("@");
 98                  }
 99                  else if ((resto==1)||(resto==3))
100                  {
101                      printf (".");
102                  }
103                  else
104                  {
105                      printf ("o");
106                  }
107                  posicion++;
108              }
109  
110              /* Triangulo inferior derecho del rombo */
111              posicion=altura-1;
112              for (int indice=2; indice<=altura-1; indice++)
113              {
114                  resto=posicion%4;
115                  if (resto==0)
116                  {
117                      printf ("o");
118                  }
119                  else if ((resto==1)||(resto==3))
120                  {
121                      printf (".");
122                  }
123                  else
124                  {
125                      printf ("@");
126                  }
127                  posicion--;
128              }
129              printf("\n");
130          }
131      }
132  }

Descargar.pdf


0 comentarios:

Publicar un comentario

Comenten para Responder sus DUDAS al INSTANTE :-)

 
Esta web utiliza cookies, puedes ver nuestra la política de cookies, aquí Si continuas navegando estás aceptándola
Política de cookies +