A criação e armazenamento de dados em variáveis, já foi visto nas postagens anteriores desta série, programação em C++.

Porém em determinados momentos, existe a necessidade de criar um conjunto de armazenamento de dados para utilização na aplicação corrente. Este conjunto ou sequência de dados é conhecida como matriz, array ou vetor.

Uma matriz pode ser unidimensional, ou multidimensional, sendo todos os tipos citados um seguimento de dados em memória, que pode ser acessado através de um índice de identificação do posicionamento do valor armazenado.

A diferença entre matriz e vetor é que um vetor nada mais é do que uma matriz unidimensional, ou seja, um seguimento único de dados em memória.

Outra definição que iremos encontrar para matriz ou vetor é a palavra Array. A seguir veremos a forma de uso e exemplos práticos de vetor, matriz ou array para a linguagem C++.

Matriz Unidimensional

Uma matriz unidimensional é um conjunto único de dados em memória de mesmo típo, sendo este seguimento acessado atravéz de um índice numérico de valor inteiro positivo.

Os valores aplicados aos itens do array podem ser repetidos ou não, ação no qual irá depender totalmente das necessidades da aplicação.

Um vetor que contenha cinco elementos, podemos acessar o primeiro elemento atravéz do índice zero 0. O índice de um array inicia em zero.

O exemplo abaixo demonstra a declaração de uma matriz unidimensional do tipo inteiro com nome “x”, que contém seis elementos, onde cada elemento possui um valor específico. vejamos:


int x[ 10 ] = {1, 30, 4, 555, 60, 5, 9, 40910, 12, 10 } ;

Ou ainda, uma sequência de caracteres, que nada mais é do que um vetor de dados do tipo char.


char s[ 10 ] = { 'O', 'l', 'á', ' ', 'M', 'u', 'n', 'd', 'o', '!' };

Para acessar um valor específico dentro de uma matriz, utilizamos a variável seguido do conchete e a posição desejada, informada com um valor inteiro positivo.

vejamos o exemplo abaixo:


#include
#include

int main(int argc, char *argv[]){
int x[10] = {1000, 45, 50, 3, 30, 77, 80, 4000, 58, 200489};

// Posição do primeiro elemento da matriz | valor apresentado 1000
cout << x[0] << endl; // Posição do quinto elemento da matriz | valor apresentado 30 cout << x[4] << endl; return 0; }

Matriz (Array) Multidimensional

Uma matriz multidimensional, como o próprio nome diz, nada mais é do que uma matriz com multiplos seguimentos de dados em memória, que podem ser acessador por um conjunto de índices que identifica o valor em um item do array.

A declaração da matriz ou array multidimensional é efetuada com multiplos colchetes, que informam a quantidade de elementos que a matriz poderá conter, podendo ser atribuido valores aos itens em sua declaração inicial ou, atribuir valores durante a demanda do processamento da aplicação de acordo com as necessidades do algoritmo.

Vejamos abaixo a declaração de um array multidimensional do tipo inteiro:


#include
#include

int main(int argc, char *argv[]){
int x[5][5] = {
{4, 10, 403, 741, 8},
{9, 33, 584, 877, 1},
{1, 11, 333, 891, 4},
{3, 23, 242, 221, 1},
{8, 41, 347, 100, 17}
};

// Imprime o valor 10 na tela do usuário.
cout << x[0][1] << endl; // Imprime o valor 100 na tela no usuário. cout << x[4][3] << endl; return 0; }

A declaração do array acima é declarado com 5 elemetos por 5 elementos, gerando assim 25 itens no array.

Sendo assim podemos imaginar uma matriz ou array, como um tabuleiro de xadrez ou de jogo de damas, onde cada quadrado do tabuleiro representa os itens do array. Podemos ainda compara-lo ao jogo de batalha naval, onde a interação do jogo se dá com dois jogadores informando quadrantes do tabuleiro, para identificar e acertar o alvo do adversário, esta interação é feita informando quadrantes por exemplo [A-1], [F-48], [G-22].

No array, os quadrantes não possuem letras para representar seu posicionamento, como o exemplo do jogo de batalha naval citado logo acima, mas sim números inteiros positivos informando o índice do elemento da matriz.


#include
#include

int main(int argc, char *argv[]){
float fx[2][2] = {
{12.2, 10.5},
{9.1, 33.0},
};

// Imprime o valor 33.0 na tela do usuário.
cout << fx[1][1] << endl; return 0; }

Introdutório sequencial:

  1. Introdução.
  2. Tipos de Dados em C++.
  3. Variáveis e Constantes em C++
  4. Matriz, Array e Vetor em C++
  5. Ponteiro e Referência em C++
  6. Operadores(Lógicos e Matemáticos)
  7. Estrutura de Controle de Fluxo
  8. Funções
  9. Classes
  10. Herança
  11. Poliformismo
  12. Abstração (virtual)
  13. Tipos Genéricos (templates)
  14. Namespaces
  15. Exceções (try, catch, throw)
  16. Standard Template Library (STL)
  17. Entrada e Saida Padrão (cin, cout, cerr)
  18. Manipulando Arquivos (IO)
  19. Sockets
  20. Bibliotecas padrão C++
  21. Compiladores C++.