aula 101

Como ler um vetor (array) a partir do teclado com a linguagem de programação C?

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

Toda operação sobre um vetor exige que todo o vetor seja percorrido, como vimos na aula anterior para imprimir o conteúdo de um vetor na tela. Nesta aula vamos ver como preencher um vetor lendo dados a partir do teclado e para isso também precisamos percorrer todo o vetor.

Como já vimos no início do curso, para ler um número inteiro do teclado basta pedir que o usuário digite este número e então fazer a leitura do mesmo, assim:

int valor;

printf("Digite um valor: ");
scanf("%d", &valor);

Para preencher um vetor é exatamente da mesma forma. A única diferença é que precisamos indicar, entre colchetes, em qual posição do vetor o valor lido será salvo. Para ler um único valor e salvar na primeira posição do vetor podemos fazer assim:

int vetor[10];

printf("Digite um valor: ");
scanf("%d", &vetor[0]); // salva o número digitado na primeira posição do vetor.

Agora, se desejamos ler um segundo valor e salvar na segunda posição, podemos fazer assim:

printf("Digite um valor: ");
scanf("%d", &vetor[1]); // salva o número digitado na segunda posição do vetor.

Como você já deve ter imaginado, ler um a um dessa forma não é eficiente. Como precisamos dizer a posição onde o valor lido será salvo, podemos então escrever um PARA iniciando em 0 até o tamanho do vetor – 1 e fazer a leitura dos valores dentro da repetição, assim:

int i, vetor[10];

for(i = 0; i < 10; i++){
  printf("Digite um valor: ");
  scanf("%d", &vetor[i]); // salva o número digitado na posição i do vetor
}

Como a variável i representa o índice do vetor (a posição onde o elemento será salvo), podemos informar ao usuário o índice do elemento que está sendo inserido, assim:

int i, vetor[10];

for(i = 0; i < 10; i++){
  printf("Digite o valor do indice %d: ", i);
  scanf("%d", &vetor[i]); // salva o número digitado na posição i do vetor
}

Dessa forma o usuário sabe exatamente em qual posição do vetor está sendo inserido cada valor por ele digitado.

Código completo

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

int main() {

    int i;
    int num2[10];

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

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

    return 0;
}

Deixe um comentário

um × 3 =

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.