Loops Aninhados com Matrizes 2D
Parte da seção Lógica & Fluxo do Journey de C# da Coddy. Lição 4 de 66.
Quando trabalhamos com 2D arrays (jagged arrays) em C#, frequentemente usamos loops aninhados para iterar sobre cada linha e cada coluna, permitindo-nos acessar ou modificar cada elemento no array.
Aqui está uma estrutura típica de loops aninhados para um array 2D em C#:
for (int i = 0; i < array.Length; i++) {
// Outer loop iterates over rows
for (int j = 0; j < array[i].Length; j++) {
// Inner loop iterates over columns
// Access or modify array[i][j]
}
}O loop externo itera sobre as linhas, e o loop interno itera sobre as colunas de cada linha. Dessa forma, você pode acessar cada elemento no array 2D usando array[i][j].
Desafio
FácilprintMatrix que recebe um array 2D (array irregular) de inteiros como argumento e imprime seus elementos no formato de matriz. Use loops aninhados para iterar sobre as linhas e colunas do array.Imprima cada elemento seguido por um espaço (incluindo o último elemento de cada linha), em seguida imprima uma nova linha após cada linha. Por exemplo, para a linha
[1, 2, 3], a saída deve ser 1 2 3 (com um espaço no final), seguida por uma nova linha.Experimente você mesmo
// Escreva seu código apenas dentro da classe. Não escreva Main() ou qualquer código fora desta classe.
using System;
class PrintMatrix
{
public static void printMatrix(int[][] matrix)
{
// Escreva seu código aqui
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Matrizes Multidimensionais
Noções Básicas de Matrizes 2DDeclaração e Inicialização de Matrizes 2DAcesso aos Elementos de Matrizes 2DLoops Aninhados com Matrizes 2DMatrizes IrregularesOperações Comuns com MatrizesRevisão - Multidimensional4Técnicas de Controle de Fluxo
Retornos AntecipadosCláusulas de GuardaInstruções de Salto (goto)Break e ContinueSimplificando Condicionais Aninhadas7Operadores Lógicos Avançados
Avaliação de Curto-CircuitoOperadores Lógicos CondicionaisPrecedência de OperadoresRevisão - Operadores Avançados2Tomada de Decisões Avançada
Múltiplas CondiçõesLógica Booleana ComplexaComparação entre If e SwitchInstruções Switch AninhadasRevisão - Decisões Avançadas5Tratamento de Exceções
Noções básicas de Try-CatchTipos de ExceçãoMúltiplos blocos CatchTrabalhando com ArquivosBloco FinallyUsando Using vs. Try-FinallyExceções PersonalizadasRecapitulação - Tratamento de Erros3Aprimoramentos de Loops
Desempenho de LoopsIteração de Estruturas ComplexasCada Tipo de LoopRefatoração de LoopsRevisão - Loops Otimizados6Tratamento de Nulos
Fundamentos de Referências NulasTipos de Valor AnuláveisPadrões de Verificação de NulosProgramação DefensivaRecapitulação — Segurança contra NulosPratique por conta própria: Compilador de C# online