Teoria

Introdução

Eai, tudo tranquilo? Aqui é o Samuel do Responde Aí e hoje nós falar um pouco sobre manipulação de vetores.

Vamos aprender a trabalhar com cada elemento que compõe um vetor e a manipulá-los no nosso código. Então bora lá!

Estrutura de armazenamento dos vetores

Nós sabemos que um vetor é uma estrutura de dados indexada, mas como fazemos para acessar cada um desses dados de forma individual?

Para isso, vamos analisar como cada elemento está armazenado dentro de um vetor, por exemplo:

Nesse caso, o vetor v e c possui capacidade para armazenar 5 valores do tipo i n t . Nós podemos entender esse vetor como um conjunto de blocos, onde cada bloco armazena um valor e possui um índice de acordo com a sua localização no vetor.

Esses índices se iniciam com 0 , e vão até ( t a m a n h o   d o   v e t o r   -   1 ) , ou seja, para v e c , esses índices vão de 0 a 4 , pois ele pode armazenar até 5 valores.

Inserindo um elemento

Para atribuir valores a um vetor, nós podemos fazer isso no momento em que o declaramos:

Ou podemos fazer isso usando os índices de cada posição do vetor, da forma:

v e t o r í n d i c e = v a l o r ;

Se fôssemos fazer isso para v e c , teríamos:

Operações com vetores

Pra gente realizar uma manipulação com algum elemento de um vetor, a única coisa que precisamos fazer é chamar esse elemento usando o nome do vetor e o índice da posição desse elemento:

v e t o r [ í n d i c e ]

Ao usar esse tipo de referencia, nós podemos realizar operações com cada elemento do vetor como uma variável normal.

Para o vetor v e c , se quisermos somar 1 ao elemento que está na posição de índice 1, ou seja, o 4 , só precisamos fazer:

Dessa forma, o vetor v e c ficaria:

For each

Imagina que você esteja trabalhando pra uma empresa de contabilidade e precisa fazer uma análise dos gastos dessa empresa. Para isso, você decide criar um programa que salva cada valor de gasto como elemento de um vetor e calcula a soma desses valores.

Um método bastante usado para isso seria utilizar um laço f o r para acessar cada índice desse vetor e atribuir os valores guardados a uma variável acumuladora.

Dessa forma, ficaria assim:

Mas calma ai! No C++ existe um método um pouco diferente que podemos usar para isso, é o f o r   e a c h !

No f o r   e a c h , para cada passagem do laço de f o r , uma variável que vamos definir irá receber o valor que está armazenado em cada índice do vetor. Ou seja, na primeira passagem, essa variável será igual à v e t o r [ 0 ] , na segunda ela será v e t o r 1 , na terceira será v e t o r [ 2 ] e por ai vai.

Para usarmos o f o r   e a c h , a sintaxe é a seguinte:

f o r   ( a u t o       n o m e _ d a _ v a r i á v e l     :     v e t o r ) {                     c o d i g o _ d o _ l o o p }

Nós também podemos explicitar o tipo da variável no lugar do a u t o , ficando

f o r   ( t i p o _ d a _ v a r i á v e l       n o m e _ d a _ v a r i á v e l     :     v e t o r ) {                     c o d i g o _ d o _ l o o p }

Dessa forma, para o nosso exemplo, ficaríamos com:

Agora que já sabemos como funciona o indexamento de dados num vetor, como fazemos operações com um vetor e como usamos o f o r   e a c h , podemos partir para algumas questões de fixação!

Inserindo um elemento

Operações com vetores

For each