Ir ao conteúdo

Posts recomendados

Postado

Boa tarde ! estou com dificuldade de fazer uma questão da faculdade que diz assim:

 

Escreva um programa que exiba um triangulo de altura 2n-1 e largura n por ex, se n=4, você exibe largura = 4 e altura 2 n-1=7

*

**

***

****

***

**

*

 

meu algoritmo ficou assim :

#include<stdio.h>
#include<math.h>
main(){
    int alt,lar,n;
    printf("\n Entre com a Variavel: ");
    scanf("%d",&n);
    alt= (2*n)-1;
    for(lar=1;lar<=n; lar++){ 
         for(alt=1;alt<=alt;alt++)
        printf("*");
        printf("\n");
    }    
    getchar();
}

 

Só que quando eu rodo o programa o * aparece infinita vezes, o que tem de errado ?

 

  • Curtir 1
Postado

@Camila Thainá Fróes    dentro do primeiro for precisa colocar um if para determinar onde é o meio do triangulo então use a variável n como base :

if(lar<n)

e esse primeiro loop indo de zero até enquanto for menor que alt, e se esse if for verdadeiro então imprime as linhas da primeira metade do triangulo, com o segundo loop usando outra variável que não a alt e começando de zero e indo até enquanto for menor que lar,    e se o if não for verdadeiro então coloque outro loop para imprimir a segunda metade do triangulo,  e esse segundo loop seria alguma coisa assim :

for(j=0;j<n*2-lar-1;j++)

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!