Jump to content

Desenhar pinheiro


Go to solution Solved by JDRO,

Recommended Posts

Posted

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.

Posted

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
Posted

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;
}
Posted (edited)

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

Edited by JDRO
Posted
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
Posted

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

Posted
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.

Posted (edited)

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
Posted
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
  • Solution
Posted (edited)

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

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.