aula 102

Como alterar o conteúdo de um vetor (array) na linguagem de programação C?

Seja muito bem vindo à aula de número 102 do nosso curso gratuito de programação com a linguagem C.

Como já vimos, é necessário percorrer todo o vetor para cada ação que desejamos efetuar.

Se queremos imprimir o vetor, precisamos de uma repetição passando por cada posição do vetor.

Se queremos ler os dados do teclado e salvar no vetor, precisamos de uma repetição passando por cada posição do vetor.

Da mesma forma, se desejamos alterar o conteúdo de cada posição do vetor, também precisamos de uma repetição passando por cada posição do vetor.

Imagine um vetor de inteiros já preenchido com 10 valores:

// vetor tipo int com 10 elementos
int vetor[] = {3,67,9,72,10,3,52,15,49,92};

Imagine agora que desejamos alterar este vetor, salvando em cada posição o triplo do valor atual, isso pode ser feito facilmente com uma atribuição, assim:

int i, vetor[] = {3,67,9,72,10,3,52,15,49,92};

for(i = 0; i < 10; i ++)
   vetor[i] = vetor[i] * 3; // vetor na posição i recebe vetor na posição i vezes 3

O que temos aí é basicamente uma atribuição e uma multiplicação. O elemento da posição i do vetor é multiplicado por 3 e o resultado está sendo salvo na mesmo posição i do vetor.

Lembre-se, qualquer operação que você deseja fazer em um vetor, você precisa percorrer todo o vetor.

#include <stdio.h>
#include <stdlib.h>

int main() {

    int i;
    int num2[10];

    for(i = 0; i < 10; i++){ // preenche o vetor lendo elementos do teclado
        printf("Digite o elemento da posicao %d: ", i);
        scanf("%d", &num2[i]);
    }

    for(i = 0; i < 10; i++) // multiplica cada elemento por 3
        num2[i] = num2[i] * 3;

    printf("\n\n");
    for(i = 0; i < 10; i++) // imprime o vetor na tela
        printf("%d ", num2[i]);
    printf("\n\n");

    return 0;
}

Deixe um comentário

três + 10 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.