Menu
Coddy logo textTech

2D Arrays Basics

Parte da seção Lógica & Fluxo do Journey de C# da Coddy — lição 1 de 66.

Em C#, um array denteado (jagged array) é um array de arrays, formando uma grade ou uma estrutura semelhante a uma matriz. É como uma tabela com linhas e colunas, onde cada célula pode conter um valor. Arrays denteados são úteis para representar dados que possuem uma relação bidimensional, como um tabuleiro de xadrez, um mapa de assentos ou um jogo baseado em grade.

Veja como declarar e inicializar um array denteado (jagged array) em C#:

data_type[][] arrayName = new dataType[numberOfRows][];

dataType: O tipo de elementos que o array conterá (ex: int, string, etc.).

arrayName: O nome que você dá ao array.

numberOfRows: O número de linhas no array.

Cada linha deve então ser inicializada separadamente:

arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// e assim por diante...

Por exemplo, para criar um array denteado de inteiros com 3 linhas, onde cada linha tem 4 colunas, você escreveria:

int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];

Você também pode inicializar um array denteado (jagged array) com valores diretamente:

int[][] matrix = new int[][] {
    new int[] {1, 2, 3},
    new int[] {4, 5, 6},
    new int[] {7, 8, 9}
};

Observação: Esta plataforma usa um compilador anterior ao C# 12. A sintaxe de expressão de coleção mais curta introduzida no C# 12 (ex: int[][] matrix = [[1, 2], [3, 4]];) não é suportada aqui. Por favor, use a sintaxe de inicialização tradicional new int[][] { ... } mostrada acima.

challenge icon

Desafio

Fácil

Inicialize um array denteado (jagged array) com os seguintes valores:

5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6

Sua tarefa é inicializar corretamente o array denteado com esses valores exatos e garantir que o programa imprima a matriz corretamente.

Nota: Esta plataforma utiliza um compilador anterior ao C# 12. A sintaxe de expressão de coleção do C# 12 (por exemplo, int[][] matrix = [[1, 2], [3, 4]];) não é suportada. Use a sintaxe de inicialização tradicional em vez disso:
int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };

Experimente você mesmo

using System;

class Program
{
    static void Main(string[] args)
    {
        int[][] matrix = {
            // Escreva seu código aqui
        };
        
        // Imprima a matriz
        int rows = matrix.Length;
        
        for (int i = 0; i < rows; i++)
        {
            int cols = matrix[i].Length;
            for (int j = 0; j < cols; j++)
            {
                Console.Write(matrix[i][j] + " ");
            }
            Console.WriteLine();
        }
    }
}
quiz iconTeste seus conhecimentos

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