Ir ao conteúdo

Posts recomendados

Postado

Peça ao usuário que ele informe um valor impar que determinara o tamanho para um determinado vetor. Esse valor deve ser impar, caso o valor seja par peça que o usuário redigite o numero. Após saber o tamanho do vetor. Peça ao usuário que insira valores no vetor. Depois de preencher o vetor. Imprima-o para fora EX:

4    5   6    8    0       A qui é um vetor preenchido de tamanho 5 apos preenchido deve mostrar do jeito que esta ai em baixo:

           6

         5  8

         4  0

eu consequir fazer isso mas não dar certo

#include <stdio.h>
#define y 5

int main(){
    int n[y]={4,5,6,8,0};
    int aux,i,j;
    aux=y/2;
    printf("%d\n",n[aux]);
    for(i=aux-1;i>=0;i--){
        printf("%d",n[i]);
        for(j=aux+1;j<7;j++){
            printf("%d",n[j]);
            printf("\n");
            break;
        }
    }
    getchar();
}

execução

6

58

48

Postado
#include <stdio.h>
#define y 5

int main(){
    int n[y]={4,5,6,8,0};
    int aux,i,j;
    aux=y/2;
  
    printf("%d\n",n[aux]);
    for(i=aux-1, j=aux+1; i>=0;i--, j++){
        printf("%d\n",n[i]);
   	printf("%d\n",n[j]);
    }
}

É possível percorrer esse vetor de dentro para fora usando um único laço FOR. Basta uma única condição de parada (quando chegar no início do vetor, posição 0, já que a quantidade de valores à esquerda e à direita do elemento do meio são iguais). 

 

Qualquer dúvida, basta perguntar!

 

Grande abraço!

  • Curtir 1
Postado

@Olinad212 valeu cara tai o código completo 

#include <stdio.h>
#define MAX 1000

int main(){
    int n[MAX];
    int aux,i,j,tam;
    printf("Digite um numero impar: ");
    scanf("%d",&tam);
    printf("preencha o vetor com %d numero\n",tam);
    for(i=0;i<tam;i++){
        scanf("%d",&n[i]);
    }
    aux=tam/2;
    printf("%d\n",n[aux]);
    for(i=aux-1, j=aux+1; i>=0;i--, j++){
        printf("%d",n[i]);
   	printf("%d\n",n[j]);
    }
}

 

  • Curtir 1
Postado

@paulo leal , Oi!

Eu diria que 'teu código' não é todo certo, se avaliarmos também a posição dos números.

Observe a saída do teu algoritmo pronto(para os valores de entrada do exemplo) só se parecem:

 6
5 8
4 0

Diferencia nos espaços que organiza melhor a disposição dos número. No exemplo temos isso, não solução não.

~~ / ~~

Postado

@AnsiC eu fiz assim

#include <stdio.h>
#define MAX 1000

int main(){
    int n[MAX];
    int aux,i,j,tam;
    printf("Digite um numero impar: ");
    scanf("%d",&tam);
    printf("preencha o vetor com %d numero\n",tam);
    for(i=0;i<tam;i++){
        scanf("%d",&n[i]);
    }
    aux=tam/2;
    printf("%3d\n",n[aux]);
    for(i=aux-1, j=aux+1; i>=0;i--, j++){
        printf("%2d",n[i]);
        printf("%2d\n",n[j]);
    }
    getchar();
    return 0;
}

 

  • Curtir 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!