Ir ao conteúdo

Posts recomendados

Postado

Crie um programa que lê 10 valores inteiros e, em seguida, mostre na tela os valores lidos na ordem inversa.

 

Quando eu entro com os valores 1 2 3 4 5 6 7 8 9 10 

Ele imprime os valores ao contrário até o 6 (10 9 8 7 6 6 7 8 9 10)

#include <stdio.h>
#include <stdlib.h>
#define T 10

int main(){

    int numeros[T];
    int i, j, aux;

    printf("Digite 10 valores para o vetor: \n\n");
    for(i = 0; i < T; i++){
    scanf("%d", &numeros[i]);
    }

    printf("\n");

    for(i = 0; i < T; i++){
    j = T - i - 1;
    aux = numeros[i];
    numeros[i] = numeros[j];
    numeros[j] = aux;
    printf("[%d]", numeros[i]);
}


return 0;

}

 

  • Amei 1
Postado

Bom, não sei se estou interpretando o enunciado corretamente, 😁, mas aparentemente você não precisa inverter os valores na memoria e depois imprimir. Basta imprimir ao contrário. Então você poderia simplesmente inverter o for:

 

for(i = (T - 1); i > -1; --i)

 

  • Curtir 1
Postado
11 horas atrás, Pedrockz disse:

Quando eu entro com os valores 1 2 3 4 5 6 7 8 9 10 

Ele imprime os valores ao contrário até o 6 (10 9 8 7 6 6 7 8 9 10)

 

Faz exatamente o que é programado para fazer; a partir da primeira metade do vetor a programação copia a primeira sobre a segunda.

 

Para efetivar a inversão total do vetor é obrigatório só a metade dos ciclos, T/2.

  • Obrigado 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!