Arrays Multidimensionais
Parte da seção Fundamentos 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 bidimensional (o array multidimensional mais comum), essencialmente uma tabela com linhas e colunas.
Declare um array 2D:
int matrix[3][4];Isso cria um array bidimensional com 3 linhas e 4 colunas.
Você pode inicializar um array 2D ao declará-lo:
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 uma matriz 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 de 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 receba um array quadrado 2D (em que o número de linhas é igual ao número de colunas) e imprima os elementos da diagonal principal (do canto superior esquerdo ao canto inferior direito).
A função deve:
- Receber um array de inteiros e seu tamanho como parâmetros.
- Imprimir cada elemento da diagonal principal (em que o índice da linha é igual ao índice da coluna).
- Separar cada elemento com um espaço.
Por exemplo, dado o array:
1 2 3 4 5 6 7 8 9
A função deve imprimir: 1 5 9
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 Fundamentos
2Variáveis
Tipos de dadosInteiroPonto flutuante - DoubleCaracteresBooleanosConstantesNoções básicas de printfRegras de nomenclatura de variáveisConversão de tipos - Parte 1Conversão de tipos - Parte 2Desafio de revisão3Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de atribuiçãoOperadores relacionaisOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafio de revisãoPratique por conta própria: Compilador de C online