Ir ao conteúdo

Posts recomendados

Postado

Faça um programa que leia um vetor de 10 elementos. Modifique o vetor de modo que o primeiro
elemento passe para a última posição, e desloque todos os outros para uma posição a esquerda.
Imprima o vetor modificado.
Exemplo:
Antes: 12 35 25 14 1 85 10 110 44 996
Depois: 35 25 14 1 85 10 110 44 996 12


 


#include <stdio.h>
#include <locale.h>
#include <time.h>

int main() {
    setlocale (LC_ALL, "Portuguese");
    
    int vetOriginal[10], vetInvert[10];
    int i;
    
    printf("Digite os valores!\n");
    for(i = 0; i < 10; i++) {
        scanf("%d", &vetOriginal[i]);
    }
    
    printf("\n Novo vetor: \n");
    for(i = 0; i < 10; i++) {
        vetInvert[10] = vetOriginal[0];
        
        vetInvert[i] = vetOriginal[i+1];
        printf("%d \n", vetInvert[i]);
    }
    return 0;
}


 

Postado

@alexandrecasa Se o vetor tem 10 elementos, então você tem acesso à posições de memória cujos índices variam de 0 a 9, não há uma de índice 10.

2 horas atrás, alexandrecasa disse:

vetInvert[10] = vetOriginal[0];

E esta linha não precisa ficar dentro do loop, a atribuição é única e independente do índice `i`.

Se quer copiar todos os valores até a última posição de `vetOriginal` e penúltima de `vetInvert`, o índice `i` deve ser incrementado até atingir valor 8:

for(i = 0; i < 9; i++) 
    vetInvert[i] = vetOriginal[i+1];

E então a ultima atribuição (fora do loop) é:

vetInvert[9] = vetOriginal[0];

Ou então:

vetInvert[i] = vetOriginal[0];

Pois `i` é incrementado uma última vez antes da condição do loop se tornar falsa.

Depois é só imprimir:

for(i = 0; i < 10; i++)
    printf("%d\n", vetInvert[i]);

E bem, seria só isso se o enunciado não dissesse...

2 horas atrás, alexandrecasa disse:

Modifique o vetor

Agora você precisa modificar o vetor `vetOriginal` e imprimí-lo :D

  • Curtir 3

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