Nested Loops with 2D Arrays
Parte de la sección Lógica y Flujo del Journey de C# de Coddy — lección 4 de 66.
Al trabajar con arreglos 2D (arreglos jagged) en C#, a menudo usamos bucles anidados para iterar sobre cada fila y cada columna, lo que nos permite acceder o modificar cada elemento en el arreglo.
Aquí tienes una estructura típica de bucles anidados para un array 2D en 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]
}
}El bucle exterior itera sobre las filas, y el bucle interior itera sobre las columnas de cada fila. De esta manera, puedes acceder a cada elemento en el array 2D utilizando array[i][j].
Desafío
FácilprintMatrix que tome un arreglo 2D (matriz irregular) de enteros como argumento e imprima sus elementos en formato de matriz. Usa bucles anidados para iterar sobre las filas y columnas del arreglo.Imprime cada elemento seguido de un espacio (incluyendo el último elemento en cada fila), luego imprime una nueva línea después de cada fila. Por ejemplo, para la fila
[1, 2, 3], la salida debería ser 1 2 3 (con un espacio al final), seguida de una nueva línea.Hoja de referencia
Usa bucles anidados para iterar sobre arreglos 2D (arreglos jagged) en C#:
for (int i = 0; i < array.Length; i++) {
// El bucle exterior itera sobre las filas
for (int j = 0; j < array[i].Length; j++) {
// El bucle interior itera sobre las columnas
// Accede o modifica array[i][j]
}
}El bucle exterior itera sobre las filas usando array.Length, y el bucle interior itera sobre las columnas usando array[i].Length. Accede a los elementos con array[i][j].
Pruébalo tú mismo
// Escribe tu código solo dentro de la clase. No escribas Main() ni ningún código fuera de esta clase.
using System;
class PrintMatrix
{
public static void printMatrix(int[][] matrix)
{
// Escribe tu código aquí
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
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