Array bidimensional nada mais é do que a extensão da matriz unidimensional. Como a matriz, ele mantém um mesmo tipo de elemento de dados de uma maneira diferente. Ele mantém todas as propriedades como a matriz de unidade única. Agora, vemos como as matrizes bidimensionais são declaradas em uma programação C.
Declarando uma matriz bidimensional:
1 | int b [2] [3] Portanto, o número de variáveis = (2*3) = 6 |
Uma matriz chamada tem dois blocos. Cada bloco também possui três blocos como 0, 1 e 2.
Array bidimensional nada mais é do que nossa percepção ou outra representação física.
A matriz 2D também é chamada de matriz porque B [] [] é uma matriz. Existem dois blocos dentro da matriz. Eles também são matrizes porque cada bloco na matriz bidimensional. Possui também três variáveis tratadas como matriz.
Como podemos acessar essas variáveis?
Acabamos de escrever, B [0] [0] significa que ele representa o primeiro (0) bloco do primeiro elemento (0).
1 | B [2] [3] |
Primeiro valor do bloco [2] representado como 1ª linha e 2º valor do bloco [3] representado como cada linha possui três colunas.
1 | B [0] [0], B [1] [0] |
Aqui também podemos acessar essas variáveis da mesma maneira.
Onde usamos uma matriz bidimensional?
Suponha em uma escola, existem 5 aulas. Cada turma tem 5 alunos. Devemos determinar o valor de todos os alunos de cada aula. Nesse caso, devemos usar a matriz 2D. S [5] [5]
Primeiro, [5] existem 5 blocos que representam cada classe como cada matriz. Em seguida, [5] representa cada classe que tem 5 alunos.
Exemplo 1:
Aqui, vemos um exemplo de matrizes bidimensionais. Com a ajuda de 2 D Array, podemos ver aqui a soma de duas matrizes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #incluir int main () int a [3] [3], b [3] [3], c [3] [3], i, j; // declarando matriz bidimensional. printf ("Digite 9 números para a primeira matriz \ n"); para (i = 0; i <= 2 ; i++ ) para (j = 0; j <= 2 ; j++ ) scanf ("%d", & a [i] [j]); // inicializando valores para a 1ª matriz. printf ("Digite 9 números para a segunda matriz \ n"); para (i = 0; i <= 2 ; i++ ) para (j = 0; j <= 2 ; j++ ) scanf ("%d", & b [i] [j]); // inicializando valores para a 2ª matriz. para (i = 0; i <= 2 ; i++ ) para (j = 0; j <= 2 ; j++ ) c [i] [j] = a [i] [j] + b [i] [j]; // soma de duas matrizes. printf (" %d \ t", c [i] [j]); printf ("\ n"); retornar 0; |
Saída:
Explicação:
Aqui, declaramos matrizes bidimensionais (matrizes) para receber algumas entradas do usuário. Essas matrizes são um [] [] e b [] []. Usando loops, inserimos alguns valores dos usuários para essas matrizes. Agora, resumimos esses elementos de acordo com as regras matemáticas de matrizes e imprimimos o resultado para o monitor.
Exemplo 2:
Aqui, vemos outro exemplo de matrizes bidimensionais. Em matemática, a Matrix atua como uma matriz bidimensional. Aqui, queremos transpor uma matriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #incluir int main () int m, n, i, j, c [100] [100], a [100] [100]; // declarando matriz bidimensional. printf ("Digite o número de linhas e colunas da matriz:"); scanf ("%d%d", & m, & n); para (i = 0; i < m ; i++ ) para (j = 0; j < n ; j++ ) printf ("Digite o elemento _ [%d] [%d]:", i, j); scanf ("%d", & c [i] [j]); // inserindo valores na matriz 2 D. printf ("\ n a matriz original é: \ n"); para (i = 0; i < m ; i++ ) para (j = 0; j < n ; j++ ) printf (" %d \ t", c [i] [j]); printf ("\ n"); para (i = 0; i < m ; i++ ) para (j = 0; j < n ; j++ ) a [j] [i] = c [i] [j]; printf ("\ n transponha da matriz dada é dada abaixo: \ n"); para (i = 0; i < n ; i++ ) para (j = 0; j < m ; j++ ) printf (" %d \ t", a [i] [j]); // transpondo a matriz. printf ("\ n"); retornar 0; |
Saída:
Explicação:
Aqui, queremos transpor uma determinada matriz. Primeiro, declaramos uma matriz bidimensional. Como dissemos anteriormente, cada matriz em matemática atua como uma matriz bidimensional. Então, a matriz de declaração agora é transposta usando loops.
Exemplo 3:
Aqui, vemos um exemplo de matrizes bidimensionais. Com a ajuda de 2 D Array, podemos ver aqui a multiplicação de duas matrizes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #incluir int main () int a [10] [10], b [10] [10], mul [10] [10], r, c, i, j, k; // declarando matriz. printf ("Digite o número de linha ="); scanf ("%d", & r); printf ("Digite o número de column ="); scanf ("%d", & c); printf ("Digite o primeiro elemento da matriz = \ n"); para (i = 0; i < r ; i++ ) para (j = 0; j < c ; j++ ) scanf ("%d", & a [i] [j]); printf ("Digite o segundo elemento da matriz = \ n"); para (i = 0; i < r ; i++ ) para (j = 0; j < c ; j++ ) scanf ("%d", & b [i] [j]); printf ("multiplique da matriz = \ n"); para (i = 0; i < r ; i++ ) para (j = 0; j < c ; j++ ) mul [i] [j] = 0; para (k = 0; k < c ; k++ ) mul [i] [j]+= a [i] [k] * b [k] [j]; // multiplicando os valores. // para resultado de impressão para (i = 0; i < r ; i++ ) para (j = 0; j < c ; j++ ) printf (" %d \ t", mul [i] [j]); printf ("\ n"); retornar 0; |
Saída:
Explicação:
Aqui, declaramos matrizes bidimensionais (matrizes) para receber algumas entradas do usuário. Essas matrizes são um [] [] e b [] []. Usando loops, inserimos alguns valores dos usuários para essas matrizes. Agora, multiplicamos esses elementos de acordo com as regras matemáticas de matrizes e imprimimos o resultado para o monitor.
Conclusão:
Array bidimensional é uma forma de matriz em matemática. Com a ajuda de matrizes bidimensionais, podemos resolver facilmente diferentes tipos de problema relacionado à matriz matemática. Matriz esparsa é um exemplo de matrizes bidimensionais.