Matrizes

Matrizes são estruturas de dados multidimensionais. Elas são comumente geradas a partir de vetores; ou seja, ao invés de serem uma estrutura de apenas uma dimensão, como os vetores, na maioria dos exemplos, elas são bidimensionais, tendo dois índices para indicar a sua posição ao invés de um.

Declaração em C++:

int matriz[3][3] = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

Em matrizes bidimensionais, é comum utilizar o índice à esquerda para referenciar as linhas e o índice à direita para referenciar as colunas. Isso se deve à forma como se percorrem matrizes utilizando estruturas de repetição.

Exemplo

Neste exemplo, é criada uma matriz 3x3 com valores de 1 até 9. Em seguida, é impresso o valor na posição [0,1], a matriz completa é exibida, e todos os elementos da primeira linha são atribuídos o valor 0 (zero), com a matriz sendo impressa novamente.

#include <iostream>

using namespace std;

int main(){
    int matriz[3][3] = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
    cout << matriz[0][1] << endl;
    cout << "-------------" << endl;
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 3; j++){
            cout << matriz[i][j] << " ";
        }
        cout << endl;
    }
    for (int i = 0; i < 3; i++){
        matriz[0][i] = 0;
    }
    cout << "-------------" << endl;
    for (int i = 0; i < 3; i++){
        for (int j = 0; j < 3; j++){
            cout << matriz[i][j] << " ";
        }
        cout << endl;
    }
}

Saída:

2
-------------
1 2 3 
4 5 6 
7 8 9 
-------------
0 0 0 
4 5 6 
7 8 9 

Exercícios Propostos