Definição de Vetores e Matrizes
Vetores e matrizes são coleções de variáveis contínuas na memória e acessadas através de um número de índice. A diferença entre vetores e matrizes é que vetores são de uma única dimensão, enquanto matrizes podem conter várias dimensões.
Vetores
Definimos um vetor dizendo o tipo, o nome da variável e o número de elementos, lembrando que o vetor possui apenas uma dimensão:
Por exemplo, para alocar um vetor com 5 elementos do tipo int fizemos:
De forma gráfica teremos uma estrutura de armazenamento de 5 variáveis do tipo int:
Nesse caso foi criado com valores aleatórios (em C reutiliza espaço da memória, com isso, os valores iniciais são imprevisíveis).
Porém podemos iniciar um vetor com valores (nesse caso a definição da quantidade de valores é opcional):
Graficamente, o vetor ficaria:
Formas de criar (declarar) um vetor
De forma simples, temos as seguintes formas de declarar vetores
- A primeira forma de declaração é feita na forma 1, nesse caso, não são atribuídos valores, caso se queira ler algum dado do vetor, serão lidos valores quaisquer que estão armazenados na memória na posição do vetor
- Na forma 2, essa anotação se aplica apenas para vetores, em que não é definido o tamanho do vetor, mas sim, os elementos. Nesse caso, o compilador conta a quantidade de elementos e aloca o espaço necessário.
- Na forma 3, foram especificados a quantidade de elementos e os valores, veja que no caso do vetor, ele foi criado com tamanho 6, porém tem 5 elementos, o elemento faltante terá valor aleatório armazenado em seu local correspondente na memória.
- Na forma 4, é um caso especial para a criação de sequências de caracteres para formar textos e mensagens (Strings). Especificamente para o caso de Strings, um espaço deve ser reservado para armazenar o caractere “\0”, que representa final de string e não aparece nas mensagens.
Acessando os elementos de um vetor
Os vetores são indexadas em zero, ou seja, referente a inicialização do vetor, o primeiro elemento do vetor está no índice 0:
E atribuíndo valores:
O primeiro elemento do vetor irá receber o valor 5, enquanto o segundo elemento será atribuído o valor 6:
Veja o programa:
Vetores e laço de repetição
Os vetores são muitas vezes manipuladas através de laços de repetição, onde o contador do laços de repetição é usado como índice para cada elemento do vetor. Por exemplo, o programa abaixo irá imprimir os valores contidos no vetor:
Verifique a execução do programa passo-a-passo (aguarde que pode demorar para abrir!) :
Exemplo 1 - Armazenado 7 valores lidos do teclado
Leia 7 valores inteiros do teclado e armazene num vetor.
Inicialmente vamos montar o laço de repetição e o vetor:
Agora vamos ler os valores do teclado e salvar em cada item do vetor
No ambiente de desenvolvimento:
Exemplo 2 - Verificando valores lidos
Faça um programa que leia 10 valores e apresente quantos valores positivos, negativos e zero foram digitados
Tomando com base o exemplo anterior e modificando as quantidades de valores lidos:
Adicionamos as variáveis que irão armzenar as quantidades e o laço de repetição para percorrer os valores lidos:
E os blocos de decisão para cada valor, a contagem e apresentação dos valores:
O programa em execução:
Atividades
- 1. Faça um programa que cria um vetor com 5 elementos inteiros, lê 5 números do teclado, armazena os números no vetor e imprime o vetor na ordem inversa.
- 2. Dados os vetores \(v_1 =\{4,8,1,9\}\) e \(v_2 =\{2,5,7,3\}\), faça um programa que some os vetores e apresente o vetor resultante.
- 3. faça um programa que leia as notas de 10 alunos. Depois faça um laço de repetição para encontrar a maior, a menor nota e a média da turma