Uma matriz é um conjunto de variáveis de mesmo tipo alocados de forma contigua na memória. Um Vetor é uma matriz de uma dimensão.
Dessa forma, podemos declarar um
vetor da seguinte maneira:
<tipo> Nome [quantidade de
elementos]; Ex.:
int vetor[50];
No exemplo declaramos um vetor de
nome vetor com 50 colunas, ou seja, 50 elementos, do tipo inteiro.
Já vimos alguns exemplos de
vetores neste caderno, que são as strings de caracter, que nada mais são que um
vetor de char, conforme podemos ver abaixo:
Char nome[40];
Assim, a declaração acima se
refere a um vetor de caractere com 40 posições de memória, aceitando assim
quarenta caracteres em sua estrutura.
Observação:
Na Linguagem C, os índices de um
vetor começam pela posição 0, não pela posição 1 conforme vimos no caderno de
algoritmo e estrutura de dados. Assim, em um vetor de 50 elementos o índice vai
da posição 0 a posição de número 49.
Para inserir dados em um vetor,
procedemos da mesma forma como qualquer outra variável, observando
apenas o nome e a posição do
vetor. scanf(“%d”, &vetor1[4]);
Colocando um valor na quinta
posição do vetor.
Para escrever o vetor, procedemos
da mesma forma como qualquer outra variável, observando apenas o nome e a
posição do vetor.
printf(“%d”, vetor1[0]);
Escrevemos o valor que está na
primeira posição do vetor. Valor que escreverá será: 10
Inicialização de vetores:
Um vetor pode ser declaro e
iniciado ao mesmo tempo, vejamos o exemplo: int vetor[5] = {0,1,2,3,4};
Aqui, definimos um vetor de nome
vetor com 5 posições e colocamos os 5 valores em sua inicialização.
Observação:
Ao preenchermos um vetor de forma
automática, podemos omitir o tamanho do mesmo. Vejamos: int vetor[] =
{0,1,2,3,4};
Apesar de não colocarmos a
quantidade de elementos no vetor e inicializarmos este com 5 elementos, a
declaração está correta. O mesmo não é válido para uma declaração sem inicialização
de variáveis.
Para exemplificarmos,
construiremos um programa que armazena valores inteiros em um vetor com 5
posições e cria um segundo vetor, também de 5 posições, com valores sendo
negativos armazenados no primeiro vetor.
#include <stdio.h> int
main(){
int vet1[5], vet2[5]; int i;
/* entrando com os dados no vetor
1 */ for (i=0; i<5; i++){
printf("\n entre com um
valor para armazenar na posicao %d", i); scanf("%d",
&vet1[i]);
}
/* criando o segundo vetor com
valores negativos */ for (i=0; i<5; i++)
vet2[i]= -(vet1[i]);
/* mostrando os dois vetores */
for (i=0; i<5; i++)
printf("\n eo valor na
posicao %d do vetor 1 e: %d, do vetor 2 e: %d", i, vet1[i], vet2[i]);
}
No próximo exemplo, mostraremos o
código de um programa em C que recebe um nome qualquer do usuário e
posteriormente pede que o usuário entre com uma letra para então o programa
pesquisar em qual posição da palavra a letra pesquisada foi encontrado.
#include <conio.h> #include
<stdio.h>
main(){
char nome[20]; char letra;
int i;
printf("digite um nome para
pesquisa\n\n"); scanf("%s", &nome);
printf("digite uma letra
para pesquisa no nome\n\n"); letra=getche();
for (i=0; i<20; i++){
if (nome[i]==letra)
printf("\nA letra %c foi
encontrada na posicao %d da palavra %s", letra, i, nome);
}
}
Fonte: Linguagem da programação I, UFERSA, Macedo, Luiz