Vetores linguagem C

Vetores linguagem C


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