Programação C – Matriz

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!

Share Button

CC BY-NC-SA 4.0 Programação C – Matriz by Cleiton Bueno is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.