Nested Loops with 2D Arrays
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.Folha de consulta
Use laços aninhados para iterar sobre arrays 2D (arrays irregulares) em C#:
for (int i = 0; i < array.Length; i++) {
// O laço externo itera sobre as linhas
for (int j = 0; j < array[i].Length; j++) {
// O laço interno itera sobre as colunas
// Acesse ou modifique array[i][j]
}
}O laço externo itera sobre as linhas usando array.Length, e o laço interno itera sobre as colunas usando array[i].Length. Acesse os elementos com array[i][j].
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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety