Arrays Multidimensionais
Parte da seção Fundamentals do Journey de C da Coddy — lição 56 de 63.
Um array multidimensional é um array de arrays. Em C, você pode criar um array 2D (o array multidimensional mais comum), essencialmente uma tabela com linhas e colunas.
Declare um array bidimensional:
int matrix[3][4];Isso cria um array 2D com 3 linhas e 4 colunas.
Você pode inicializar uma matriz 2D ao declará-la:
int matrix[3][4] = {
{1, 2, 3, 4}, // Primeira linha
{5, 6, 7, 8}, // Segunda linha
{9, 10, 11, 12} // Terceira linha
};Para acessar elementos em um array 2D, use dois índices:
int value = matrix[1][2]; // Acessa a linha 1, coluna 2 (o valor será 7)Para modificar um elemento em um array 2D:
matrix[0][3] = 100; // Altera o elemento na linha 0, coluna 3 para 100Você também pode usar loops aninhados para acessar todos os elementos em um array 2D:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // Nova linha após cada linha
}Desafio
FácilCrie uma função chamada printDiagonal que recebe uma matriz quadrada 2D (onde o número de linhas é igual ao número de colunas) e imprime os elementos da diagonal principal (do canto superior esquerdo ao inferior direito).
A função deve:
- Receber uma matriz de inteiros e seu tamanho como parâmetros.
- Imprimir cada elemento da diagonal principal (onde o índice da linha é igual ao índice da coluna).
- Separar cada elemento com um espaço.
Por exemplo, dada a matriz:
1 2 3 4 5 6 7 8 9
A função deve imprimir: 1 5 9
Folha de consulta
Um array multidimensional é um array de arrays. Em C, você pode criar um array 2D com linhas e colunas.
Declare um array 2D:
int matrix[3][4];Inicialize um array 2D ao declarar:
int matrix[3][4] = {
{1, 2, 3, 4}, // Primeira linha
{5, 6, 7, 8}, // Segunda linha
{9, 10, 11, 12} // Terceira linha
};Acesse elementos usando dois índices:
int value = matrix[1][2]; // Acessa a linha 1, coluna 2 (o valor será 7)Modifique um elemento:
matrix[0][3] = 100; // Altera o elemento na linha 0, coluna 3 para 100Use loops aninhados para acessar todos os elementos:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n"); // Nova linha após cada linha
}Experimente você mesmo
#include <stdio.h>
// Função para imprimir os elementos da diagonal de uma matriz quadrada
void printDiagonal(int matrix[][100], int size) {
// Escreva seu código aqui
}
int main() {
int size;
scanf("%d", &size);
int matrix[100][100];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
scanf("%d", &matrix[i][j]);
}
}
printDiagonal(matrix, size);
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
2Variáveis
Tipos de DadosInteiroFloat - DoubleCaracteresBooleanosConstantesFundamentos do printfRegras de Nomenclatura de VariáveisConversão de Tipos Parte 1Conversão de Tipos Parte 2Desafio de Recapitulação3Operadores
Operadores AritméticosOperador de MóduloIncremento/DecrementoOperadores de AtribuiçãoOperadores RelacionaisOperadores Lógicos Parte 1Operadores Lógicos Parte 2Operadores Lógicos Parte 3Desafio de Recapitulação