Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Alex Rodríguez en 13 de Febrero 2020, 19:00

Título: lógica dibujar corazón de asteriscos en código C por San Valentín (lenguajeC)
Publicado por: Alex Rodríguez en 13 de Febrero 2020, 19:00
Dibujar formas usando la salida por consola de un lenguaje como C es una buena forma de practicar lógica de la programación. Ahora que se acerca San Valentín dejamos por aquí este código para dibujar un corazón en lenguaje C. Para quienes lo celebren, feliz San Valentín, y para quienes no lo celebren, a por el reto lógico de dibujar una forma no trivial usando asteriscos.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main() {
   int a, b, line = 12;
   for (a = line/2; a <= line; a = a+2) { //Para la parte superior del corazon
      for (b = 1; b < line-a; b = b+2) //crear espacio antes de la primera prominencia
         printf(" ");
      for (b = 1; b <= a; b++) //imprimir la primera prominencia
         printf("*");
      for (b = 1; b <= line-a; b++) //crear espacio antes de la segunda prominencia
         printf(" ");
      for (b = 1; b <= a-1; b++) //imprimir la segunda prominencia
         printf("*");
      printf("\n");
   }
   for (a = line; a >= 0; a--) { //la base del corazon es un triangulo invertido
      for (b = a; b < line; b++) //generar espacio antes del triangulo
         printf(" ");
      for (b = 1; b <= ((a * 2) - 1); b++) //imprimir el triangulo
         printf("*");
      printf("\n");
   }
   return 0;
}