Ir ao conteúdo
  • Cadastre-se

Piramide invertida apenas com numeros impares


Vinicius98

Posts recomendados

Boa noite, estou estudando c e me deparei com o seguinte exercicio :

 

Faça o programa que apresenta a seguinte saída, perguntando ao usuário
o número máximo (no exemplo, 9). Este número deve ser sempre ímpar.
1 2 3 4 5 6 7 8 9
   2 3 4 5 6 7 8
      3 4 5 6 7
         4 5 6

            5

 

O output tem de ser desse jeito, olhei aqui no forum e tentei aplicar algumas das logicas aqui mostradas mas ainda sim não consegui resolve-la, meu codigo imprime a piramide porém não estou conseguindo alinhar os numeros. Segue meu codigo.

 

#include <stdio.h>

int main(){
	
	int n, i, cont=1, j, cond;
	do{
	scanf("%d", &n);
	}while(n%2==0);

	for(i=1;i<=n;i++){
		printf("%d ", i);
		for(j=i+1;j<=n;j++)
			printf("%d ", j);
			n-=1;
			printf("\n");
		
	}

return 0;
}

Ele ta imprimindo isso:

1 2 3 4 5 6 7 8 9 
2 3 4 5 6 7 8 
3 4 5 6 7 
4 5 6 

 :s

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

@Vinicius98    seu código está bom, ficou faltando posicionar os números duas posições para frente em cada nova linha,      experimente esse seu código com algumas modificações :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(){

	int n, i, j,l,k;
	do{
	scanf("%d", &n);
	}while(n%2==0);
    l=0;
    system("cls");
    printf("\n\n\n");
	for(i=1;i<=n;i++){
        for(k=0;k<l;k++){printf(" ");}
		printf("%d ", i);
		for(j=i+1;j<=n;j++)
			printf("%d ", j);
			n-=1;
			printf("\n");
            l+=2;
    }
    printf("\n\n\n        Tecle");
    getch();
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

16 horas atrás, devair1010 disse:

@Vinicius98    seu código está bom, ficou faltando posicionar os números duas posições para frente em cada nova linha,      experimente esse seu código com algumas modificações :


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(){

	int n, i, j,l,k;
	do{
	scanf("%d", &n);
	}while(n%2==0);
    l=0;
    system("cls");
    printf("\n\n\n");
	for(i=1;i<=n;i++){
        for(k=0;k<l;k++){printf(" ");}
		printf("%d ", i);
		for(j=i+1;j<=n;j++)
			printf("%d ", j);
			n-=1;
			printf("\n");
            l+=2;
    }
    printf("\n\n\n        Tecle");
    getch();
    return 0;
}

 

Opa, boa tarde, eu não entendi esse for(k=0;k<l;k++) 

 

  • Curtir 1
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...