Ir ao conteúdo
  • Cadastre-se

pinheiro em c++


FABI 2

Posts recomendados

Desenvolva um programa que utilizando, obrigatoriamente, comandos de repetição. Mostre na tela um pinheiro conforme modelo abaixo.

             X

           XXX

        XXXXX

      XXXXXXX

    XXXXXXXXX

  XXXXXXXXXXX

 XXXXXXXXXXXXX

XXXXXXXXXXXXXXX

           XXX

           XXX

           XXX

           XXX

 

char a = 'x';
    int linhas, caracters, espacos,count;
     caracters = 1;
    espacos = 8;
     printf("\n\n\n");
 
//parte de cima
    for(linhas = 0; espacos > 0;linhas++){
    for(count = 0; count <= espacos; count++){
        printf(" ");
    }
 
    for(count = 0; count < caracters; count++){
        printf("%c",a);
    }
        espacos--;
        caracters+=2;
        printf("\n");
    }
    
//parte de baixo
    espacos = 8;
    for(linhas = 0; linhas<3;linhas++){
    for(count = 0; count <= espacos;count++){
        printf(" ");
    }
    printf("%c\n",a);
    }
    for(count = 0; count<espacos; count++){
    printf(" ");
    }
    for(count = 0; count<3;count++)
    {
    printf("%c",a);
    }
    printf("\n\n\n");

 

O QUE PRECISO FAZER PARA ACERTAR A PARTE DE BAIXO, JÁ TENTEI VARIAS POSSIBILIDADES E NÃO DERAM CERTO, PRECISO DE UM HEEEEEELP

TEM QUE TER 4 LINHAS E 3 COLUNAS 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@FABI 2    lá na parte de baixo você precisa imprimir os 3 x , pois você está imprimindo apenas um .

   veja seu código com modificação :

#include <iostream.h>
char a = 'x';
int linhas, caracters, espacos,count;
int main(){
    caracters = 1;
    espacos = 8;
    printf("\n\n\n");

//parte de cima
    for(linhas = 0; espacos > 0;linhas++){
    for(count = 0; count <= espacos; count++){
        printf(" ");
    }

    for(count = 0; count < caracters; count++){
        printf("%c",a);
    }
        espacos--;
        caracters+=2;
        printf("\n");
    }

//parte de baixo
    espacos = 8;
    for(linhas = 0; linhas<3;linhas++){
    for(count = 0; count < espacos;count++){
        printf(" ");
    }
    printf("%c%c%c\n",a,a,a);//  modifiquei essa linha aqui
    }
    for(count = 0; count<espacos; count++){
    printf(" ");
    }
    for(count = 0; count<3;count++)
    {
    printf("%c",a);
    }
    printf("\n\n\n");
}

ou podes usar esse outro código aqui , que faz a mesma coisa, usando menos linhas :

#include <stdio.h>
#include <windows.h>
void gotoxy(int x,int y){
    COORD c;
    c.X=x;
    c.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
int i,j,k=15,c=10,l=10;
int main(){
    for(i=0;i<8;i++){
        gotoxy(c,l);
        for(j=0;j<k;j++){
            printf("X");
        }
        k-=2;
        c++;
        l--;
    }
    c=16;
    l=11;
    for(i=0;i<4;i++){
        gotoxy(c,l);
        for(j=0;j<3;j++){
            printf("X");
        }
        l++;
    }
    gotoxy(0,18);
}

 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...