Autor Tema: Dibujar rombo diamante en C usando printf, bucles y resto lenguajeC CU00542F  (Leído 5120 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenas tardes. Dejo una posible solución del ejercicio CU00542F del curso aprende a programar en lenguaje C desde cero.

Citar
EJERCICIO

Crear un programa que muestre en pantalla un diamante formado por asteriscos, dado un valor de número de asteriscos máximo en el punto central del diamante o rombo. Ejemplo: si el valor en el punto central es 5 el rombo sería:

Ejemplo:

*

**

***

****

*****

****

***

**

*

 

Nota: antes de crear el código hay que estudiar la lógica para proceder a crear el rombo, teniendo en cuenta que para poder mostrarlo habremos de dejar espacios en blanco a la derecha e izquierda de todas las líneas excepto la central.

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

int main() {
    char espacioEnBlanco = ' ';
    int i,j, maxFilas=0;

    do{
        printf("Cuantas filas quieres que tenga tu rombo para arriba (minumo 5 y maximo 50)?: ");
        scanf("%d", &maxFilas);
    }while(maxFilas<5 || maxFilas>100);
    int filas=maxFilas;
    int asterisoMax=2;

    if(maxFilas != 0){
        for(i=0;i<maxFilas;i++){
            printf("\t\t\t\t\t");
            for(j=0;j<filas;j++){
                printf("%c",espacioEnBlanco);
            }
            for(j=0;j<asterisoMax;j++){
                printf("*");
            }
            puts("");
            filas--;
            asterisoMax=asterisoMax+2;
        }

        for(i=0;i<maxFilas+1;i++){
            printf("\t\t\t\t\t");
            for(j=0;j<filas;j++){
                printf("%c",espacioEnBlanco);
            }
            for(j=0;j<asterisoMax;j++){
                printf("*");
            }
            puts("");
            filas++;
            asterisoMax=asterisoMax-2;
        }
    }


    return 0;
}

Gracias.
« Última modificación: 12 de Julio 2016, 17:11 por César Krall »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00542F Dibujar rombo diamante
« Respuesta #1 en: 07 de Julio 2016, 18:39 »
Hola.

El código pide introducir el número de líneas que va a tener el rombo, y luego el rombo tiene el doble mas 1 de las líneas introducidas.

Es lo único que veo a corregir.

Saludos. ;D

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Re:CU00542F Dibujar rombo diamante
« Respuesta #2 en: 07 de Julio 2016, 23:56 »
Buenas, Pedro.

Gracias por corregirme otro ejercicio más. Por eso puse "Cuantas filas quieres que tenga tu rombo para arriba", es decir, de la mitad para arriba. Quizás no me expresé bien.

Saludos. 

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:CU00542F Dibujar rombo diamante
« Respuesta #3 en: 08 de Julio 2016, 09:36 »
Ok, entendí mal entonces.

Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".