Jump to content

Desenhar pinheiro


JDRO
Go to solution Solved by JDRO,

Recommended Posts

Boas de novo, não encontrei nada ainda, é que precisava mesmo de ajuda :x Ainda estou numa fase inicial de apredisagem da linguagem c. Obrigado.

Para já tenho isto, que imprime apenas a base:

#include <stdio.h>
#include <stdlib.h>

void imprimebase(int base, int num){
    
    for(base=1; base<=num; base++)
    {
        printf("* ");
    }
}

int main()
{
    int base, num;
    
    printf("Introduza a base: ");
    scanf("%d", &num);
    
    imprimebase(base, num);
    
    return 0;
}
Link to comment
Share on other sites

1 hour ago, JDRO said:

Já vi varios posts sobre isso e ainda não consegui chegar a solução :/

considero essa resposta bastante displicente do conteúdo dos tópicos apresentados. até parece que nem te deste ao trabalho de os ler, porque caso o fizesses, não só todo o trabalho te seria apresentado assim como várias soluções

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Tenho dúvida no que devo fazer para imprimir por cima da base, devo fazer outro ciclo for para imprimir por cima da base (asteriscosdabase - 1) até chegar apenas a 1 asterisco? Mas como faço isso? Obrigado pela resposta.

EDIT: O meu problema é que todos os posts que vejo pede sempre a altura da arvore e não o tamanho da base como o meu exercicio pede.

Edited by JDRO
Link to comment
Share on other sites

3 hours ago, JDRO said:

Tenho dúvida no que devo fazer para imprimir por cima da base, devo fazer outro ciclo for para imprimir por cima da base (asteriscosdabase - 1) até chegar apenas a 1 asterisco? Mas como faço isso? Obrigado pela resposta.

EDIT: O meu problema é que todos os posts que vejo pede sempre a altura da arvore e não o tamanho da base como o meu exercicio pede.

se nesse post a pessoa teve que descobrir a base em relação à altura, porque não podes fazer o mesmo ? talvez lendo os tópicos ...

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

  • Solution

Bem, finalmente já consegui! Fica aqui o código que usei:

#include <stdio.h>
#include <stdlib.h>

void pinheiro(int base){
    int i, j, k;

    for(i=1; i<=base; i++)
    {
        for(k=base-i; k>=1; k--)  { 
            printf(" ");
        }
        for (j=i;j>=1;j--)  { 
            printf("* ");
        }
        printf("\r\n"); 
    }  
}

int main()
{
    int base;
    
    printf("Introduza a base: ");
    scanf("%d", &base);
    
    pinheiro(base);
    
    return 0;
}
Edited by pwseo
tags de código
  • Vote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.