Dando continuidade a programação em C, o ultimo post foi sobre vetores que pode ser visto aqui, e desta vez vamos ver como funciona matriz em C e praticamente pode ser aplicado em outras linguagens, vimos já uma matriz unidimensional (vetor ou array) e agora iremos ver matriz bidimensional que é mais visto com o nome matriz mesmo, só que antes nos vetores tinhamos uma linha por N colunas, agora podemos ter N linhas por N colunas. Vamos ver como se declara uma matriz em C:
Matriz 3×4
L1C1 | L1C2 | L1C3 | L1C4 |
L2C1 | L2C2 | L2C3 | L2C4 |
L3C1 | L3C2 | L3C3 | L3C4 |
// Apenas declarando uma matriz 3 por 4 float notas[3][4]; // Declarando e iniciando os valores de uma matriz 3 por 4 float notas[3][4] = { {6.0, 5.5, 8.5, 7.0}, {6.6, 8.6, 9.3, 8.3}, {7.2, 8.1, 5.4, 3.3} }; // Outra maneira de iniciar os valores de uma matriz 3 por 4 float notas[3][4] = { {6.0, 5.5, 8.5, 7.0}, {6.6, 8.6, 9.3, 8.3}, {7.2, 8.1, 5.4, 3.3} };
Na declaração acima a matriz ficaria:
6.0 | 5.5 | 8.5 | 7.0 |
6.6 | 8.6 | 9.3 | 8.3 |
7.2 | 8.1 | 5.4 | 3.3 |
Vamos a um exemplo, matriz.c:
#include<stdio.h> int main(void) { unsigned char i,j; float notas[3][4] = { {6.0, 5.5, 8.5, 7.0}, {6.6, 8.6, 9.3, 8.3}, {7.2, 8.1, 5.4, 3.3} }; for(i=0; i<3; i++) // Aqui irei percorrer as linhas { for(j=0; j<4; j++) // Dentro de cada linha percorro todas as colunas { printf("Linha %d Coluna %d = %.2f t",i+1,j+1,notas[i][j]); } printf("n"); } return 0; }
Compilando:
cleiton@linuxVM:~/projetos/c$ gcc matriz.c -o matriz
Saída:
cleiton@linuxVM:~/projetos/c$ ./matriz Linha 1 Coluna 1 = 6.00 Linha 1 Coluna 2 = 5.50 Linha 1 Coluna 3 = 8.50 Linha 1 Coluna 4 = 7.00 Linha 2 Coluna 1 = 6.60 Linha 2 Coluna 2 = 8.60 Linha 2 Coluna 3 = 9.30 Linha 2 Coluna 4 = 8.30 Linha 3 Coluna 1 = 7.20 Linha 3 Coluna 2 = 8.10 Linha 3 Coluna 3 = 5.40 Linha 3 Coluna 4 = 3.30 cleiton@linuxVM:~/projetos/c$
Bom a base para o entendimento sobre matrizes em C é isso, daria para estender com outros assuntos legais usando funções, estruturas e até métodos de ordenação mas a ideia deste post é apenas matrizes.
Até a próxima!
Programação C – Matriz by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.