Jagged Arrays
Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 5 de 66.
Matrizes irregulares em C# são matrizes de matrizes, onde cada matriz interna pode ter um comprimento diferente.
Crie um array irregular com 3 linhas:
int[][] jaggedArray = new int[3][];Inicialize cada linha com comprimentos diferentes:
jaggedArray[0] = new int[4]; // Primeira linha tem 4 elementos
jaggedArray[1] = new int[2]; // Segunda linha tem 2 elementos
jaggedArray[2] = new int[5]; // Terceira linha tem 5 elementosAtribuir valores aos elementos:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;Inicialize um array irregular com valores:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};Obtenha o número de linhas:
int rows = jaggedArray.Length; // Retorna 3Obtenha o comprimento de uma linha específica:
int elementsInRow1 = jaggedArray[1].Length; // Returns 2Desafio
MédioCrie um método chamado createTriangle que:
- Recebe um inteiro positivo
sizecomo parâmetro - Retorna um array irregular representando um padrão triangular
- Cada linha deve ter um elemento a mais que a linha anterior
- Cada elemento deve ser igual ao índice da linha mais o índice da coluna
Por exemplo, com size = 4, o array irregular deve ser:
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]Folha de consulta
Matrizes irregulares são matrizes de matrizes em que cada matriz interna pode ter comprimentos diferentes.
Crie uma matriz irregular:
int[][] jaggedArray = new int[3][];Inicialize linhas com comprimentos diferentes:
jaggedArray[0] = new int[4]; // Primeira linha tem 4 elementos
jaggedArray[1] = new int[2]; // Segunda linha tem 2 elementos
jaggedArray[2] = new int[5]; // Terceira linha tem 5 elementosAtribua valores aos elementos:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;Inicialize com valores diretamente:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};Obtenha as dimensões da matriz:
int rows = jaggedArray.Length; // Número de linhas
int elementsInRow1 = jaggedArray[1].Length; // Comprimento de uma linha específicaExperimente você mesmo
public class CreateTriangle
{
// Implemente o método CreateTriangle
public static int[][] createTriangle(int size)
{
// 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