Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Arreglos Multidimensionales | Arreglos
Fundamentos de C#

bookDesafío: Arreglos Multidimensionales

A veces es útil declarar constantes para indexar arreglos multidimensionales. A continuación se muestra el arreglo del cuestionario del capítulo anterior:

main.cs

main.cs

copy
1234567
const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };

Hemos creado dos constantes FRUITS y VEGETABLES con valores 0 y 1, que representan las filas 0 para frutas y 1 para verduras en el arreglo foods.

Por lo tanto, si necesitamos acceder al elemento "Cabbage" de las verduras, simplemente podemos escribir:

main.cs

main.cs

copy
1
foods[VEGETABLES][1];

Este truco puede no ser demasiado útil en arreglos pequeños como este, sin embargo, al trabajar con arreglos más complejos, constantes como estas pueden ayudar a acceder fácilmente a los elementos del arreglo, evitando la necesidad de memorizar qué fila contiene qué elementos, especialmente si hemos clasificado los elementos en filas.

Ahora el reto es crear un arreglo 2D de tipo string llamado productOptions, con una forma de 4x3 (4 filas, 3 columnas). Inicialízalo con los siguientes datos:

  • Fila 1: "Red", "Green", "White";
  • Fila 2: "Square", "Rectangle", "Sphere";
  • Fila 3: "Thick", "Medium", "Thin";
  • Fila 4: "Printed", "Crafted", "None".

Accede al elemento "Crafted" mediante indexación y muéstralo. Utiliza la variable constante relevante para ello.

main.cs

main.cs

copy
123456789101112131415161718192021222324
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
  1. Para declarar un arreglo multidimensional, se agregan comas dentro de los corchetes ([]) según la cantidad de dimensiones del arreglo. Por ejemplo, un arreglo de enteros 3D se declararía como int[,,] arrayName = { ... };.
  2. Es válido utilizar valores de variables o constantes en la indexación. Por ejemplo, si tenemos un arreglo int[] exampleArray = { 1, 2, 3, 4, 5 }; y una constante const int someIndex = 2, es válido escribir exampleArray[someIndex] para acceder al elemento 3 del arreglo.
main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

bookDesafío: Arreglos Multidimensionales

A veces es útil declarar constantes para indexar arreglos multidimensionales. A continuación se muestra el arreglo del cuestionario del capítulo anterior:

main.cs

main.cs

copy
1234567
const int FRUITS = 0; const int VEGETABLES = 1; string[,] foods = { { "Apple", "Apricot", "Banana", "Grapes", "Lime" }, // fruits { "Tomato", "Cabbage", "Carrot", "Pumpkin", "Broccoli" }, // vegetables };

Hemos creado dos constantes FRUITS y VEGETABLES con valores 0 y 1, que representan las filas 0 para frutas y 1 para verduras en el arreglo foods.

Por lo tanto, si necesitamos acceder al elemento "Cabbage" de las verduras, simplemente podemos escribir:

main.cs

main.cs

copy
1
foods[VEGETABLES][1];

Este truco puede no ser demasiado útil en arreglos pequeños como este, sin embargo, al trabajar con arreglos más complejos, constantes como estas pueden ayudar a acceder fácilmente a los elementos del arreglo, evitando la necesidad de memorizar qué fila contiene qué elementos, especialmente si hemos clasificado los elementos en filas.

Ahora el reto es crear un arreglo 2D de tipo string llamado productOptions, con una forma de 4x3 (4 filas, 3 columnas). Inicialízalo con los siguientes datos:

  • Fila 1: "Red", "Green", "White";
  • Fila 2: "Square", "Rectangle", "Sphere";
  • Fila 3: "Thick", "Medium", "Thin";
  • Fila 4: "Printed", "Crafted", "None".

Accede al elemento "Crafted" mediante indexación y muéstralo. Utiliza la variable constante relevante para ello.

main.cs

main.cs

copy
123456789101112131415161718192021222324
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below _______ = { _______ }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }
  1. Para declarar un arreglo multidimensional, se agregan comas dentro de los corchetes ([]) según la cantidad de dimensiones del arreglo. Por ejemplo, un arreglo de enteros 3D se declararía como int[,,] arrayName = { ... };.
  2. Es válido utilizar valores de variables o constantes en la indexación. Por ejemplo, si tenemos un arreglo int[] exampleArray = { 1, 2, 3, 4, 5 }; y una constante const int someIndex = 2, es válido escribir exampleArray[someIndex] para acceder al elemento 3 del arreglo.
main.cs

main.cs

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { const int COLOR = 0; const int SHAPE = 1; const int WIDTH = 2; const int DESIGN = 3; // Create the array below string[,] productOptions = { { "Red", "Green", "White" }, { "Square", "Rectangle", "Sphere" }, { "Thick", "Medium", "Thin" }, { "Printed", "Crafted", "None" } }; // Reference the relevant element in the WriteLine statement Console.WriteLine(productOptions[DESIGN, 1]); Console.WriteLine(productOptions[COLOR, 2]); Console.WriteLine(productOptions[SHAPE, 0]); Console.WriteLine(productOptions[WIDTH, 1]); } } }

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 6
some-alt