Jump to content
JDRO

[Resolvido] Desenhar pinheiro

Recommended Posts

JDRO

Boas estou com uma dúvida neste exercicio:

17. Escreva uma função que desenhe, na consola, um pinheiro constituído por asteriscos, com uma base de tamanho n, dado como argumento. 

Alguém me pode ajudar? Obrigado.

Share this post


Link to post
Share on other sites
HappyHippyHippo

não sei até que ponto és novo nesta comunidade, mas garanto-te que se fizeres uma pesquisa no fórum por esse tema irás encontrar vários tópicos a descrever detalhadamente o problema


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
JDRO

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;
}

 

Share this post


Link to post
Share on other sites
JDRO

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

Edited by JDRO

Share this post


Link to post
Share on other sites
HappyHippyHippo
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

Share this post


Link to post
Share on other sites
iron

Tirando o que disse o Happy, se queres ajuda, tens de dizer o que não estás a perceber ou o que está mal. Ninguém vai adivinhar o teu problema.


Cumprimentos,
iron

Share this post


Link to post
Share on other sites
JDRO
9 horas atrás, iron disse:

Tirando o que disse o Happy, se queres ajuda, tens de dizer o que não estás a perceber ou o que está mal. Ninguém vai adivinhar o teu problema.

O que nao estou a entender é como imprimir a parte de cima do pinheiro, ou seja os asteriscos por cima da base.

Share this post


Link to post
Share on other sites
JDRO

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

Share this post


Link to post
Share on other sites
HappyHippyHippo
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

Share this post


Link to post
Share on other sites
JDRO

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

Share this post


Link to post
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.